如何将二维数组保存到C中的文件?
-
21-12-2019 - |
题
我是一个初学者C程序员,我目前正在研究一个项目来实现中提琴jones对象检测算法使用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
.
已被其他人建议,这将为您带来一个非常好的选择,因为它很容易读入并解析,您可以在记事本中打开文件或excel并查看它没有问题。
这假设你真的用c文件I / O这样做,这是一种完全有效的做事方式,有些只是觉得它有点日期。
注意这在线末端留下了外来的逗号。如果该错误,您可以很容易地完成预先和后期条件,只能在您想要的地方获取逗号。提示:它涉及在循环内部进入的进入前打印逗号,减少您迭代的内部循环的条目数,并在内部的内部和之后打印出每行的第一个和最后一个情况循环分别。可能更难解释,可能是这样做。
以下是c风格文件I / O的引用 href=“http://www.cprogramming.com/tutorial/cfileio.html”rel=“nofollow”>这里是一个教程
其他提示
不知道关于您存储的类型的数据,我会说将此存储为矩阵。你需要选择分隔符来分隔你的元素(标签或空间是常见的选择,分别是一个标记行的结尾的东西(新行是这里的好选择)。
所以你所保存的文件可能看起来像:10 162 1 5
7 1 4 12
9 2 2 0
.
您还可以将其格式定义为在第一行中具有一些元数据 - 如果要预先分配内存,则行数和列数可能很有用,以及字符编码等其他信息。根据需要启动简单并添加!
不隶属于 StackOverflow