如何使用c/c++语言从文件中读取1000列或更多列数据?



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

在c语言中有一个标准函数fscanf如果使用这个函数,我需要写1000次格式

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

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

并且,如何读取或提取一些列数据?

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

然后在循环中解析该行,可能使用strtok()或简单的旧strtod()。注意,后者返回一个指向第一个字符的指针,该字符不被认为是数字;在这里,您将继续对下一个数字进行解析。也许你需要添加一个内部循环来"吃掉"空格(或任何你拥有的分隔符)。

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

最新更新