簡體   English   中英

如何將二維數組保存到C中的文件?

[英]How to save a 2-Dimensional array to a file in C?

我是一名初學者C程序員,目前正在從事使用C實現中提琴瓊斯對象檢測算法的項目。我想知道如何將二維數組中的數據存儲到可以輕松實現的文件中通過不同的程序文件(例如main.c,header_file.h等)移植和訪問

先感謝您。

沒有足夠的細節來確保您要尋找的是什么,但是您想要做的基本結構看起來像這樣:

open file.csv for writing
for(iterate through one dimension of the array using i)
{
for(iterate through the other dimension of the array using j)
   { 
   fprintf(yourfilehandle,"%d,",yourvalue[i][j]);
   }
fprintf(yourfilehandle,"\n");
}
close your file

正如其他人所建議的那樣,這將為您留下.CSV文件,這是一個不錯的選擇,因為它易於讀取和解析,並且您可以在記事本或Excel中打開文件並查看它沒有問題。

這是假設您確實打算使用C文件I / O來完成此操作,這是一種非常有效的處理方式,有些人只是覺得它有些陳舊。

請注意,這在行尾留下了多余的逗號。 如果這使您感到煩惱,則只需執行前后條件就可以了,只需在所需的位置得到逗號即可。 提示:它涉及在第二個for循環內的條目之前打印逗號,減少要在內部for循環中迭代的條目數量,並在內部for之前和之后立即打印出每行特殊的第一個和最后一個情況循環。 可能很難解釋這一點。

這是 C風格文件I / O的參考, 這是一個教程

在不知道您要存儲哪種數據的情況下,我想將其存儲為矩陣。 您需要選擇一個定界符來分隔元素(制表符或空格是常見選擇,分別是“ tsv”和“ csv”),然后用一些標記行尾(在這里換行是一個不錯的選擇) 。

因此,您保存的文件可能類似於:

10 162 1 5
7 1 4 12
9 2 2 0

您還可以將格式定義為在第一行中包含一些元數據-如果要預分配內存以及其他信息(例如字符編碼),則行數和列數可能很有用。 從簡單開始,並根據需要添加!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM