C语言读取TXT文件的行数并把把TXT文件的内容存到数组中,需要根据每行的内容(字符,数字,字符串)选取fgets、fscanf或者fgets。
这里假设每行是一个字符串,每行不超过127个字符(用数组存字符串,最后一位存'\0'),选取fgets进行读取。
示例代码如下:
#include
#include
int main(int argc, char* argv) {
FILE* rf = fopen("input.txt","r");
char a[1024][128];
int i=0;
while(fgets(a[i],128,rf))i++;
int n=i;
printf("行数:%d\n",n);
fclose(rf);
i=0;
while(isystem("pause");
return 0;
}
运行结果:
其中input.txt的内容如下:
源程序,输入文件均可从附件下载。
可以用getline一次读取一行,对每行的数据在进行处理。这个N应该要读完了才知道,可以用容器,就不用考虑N的事情了吧,也不用想着释放内存了。
为什么不使用fscanf从文件里面 直接一个一个的double 读取