1

具有 10000 行和 1000 列的数据文件。我想将整行保存到数组或每列保存到变体。

C中有一个标准函数fscanf。如果使用这个函数,我需要将格式写1000次。

fscanf(pFile, "%f,%f,%f,%f,%f,%f,......", &a[0], &a[1],...,a[999]);

用 C 编程几乎不可能这样。但是,我不知道用 C 语言来实现它。有什么建议或解决方案吗?

而且,如何读取或提取某些列数据?

4

2 回答 2

1

将文件逐行读取fgets()到适当大的缓冲区中。不要害怕使用 32 KB 或其他大小的缓冲区,以确保所有字段都适合。

然后在循环中解析该行,可能使用strtok()或只是简单的 old strtod()。请注意,后者返回一个指向第一个不被视为数字的字符的指针;这是您解析下一个数字的地方。也许您需要添加一个内部循环来“吃”空白(或您拥有的任何分隔符)。

于 2013-01-08T08:13:30.640 回答
0

您可以逐行读取文件,然后循环提取数字。

于 2013-01-08T08:11:34.230 回答