我正在寻找一种有效的方法来获得fie中的行数。我可以选择在写入文件或打开文件并计算行数后将数字写入另一个文件。哪个更好?
答案 0 :(得分:0)
这个小程序计算文件中的行并打印结果:
#include <stdio.h>
int main() {
FILE *fp;
fp=fopen("./countLines.c", "r");
long int lines =0;
if ( fp == NULL ) {
return -1;
}
while (EOF != (fscanf(fp, "%*[^\n]"), fscanf(fp,"%*c")))
++lines;
printf("Lines : %li\n", lines);
return 0;
}
此解决方案的优点是我们不需要将文件加载到内存中。我们使用scanf
来匹配\n
行字符。
如果你想让它在Windows上运行,这只适用于Linux / Mac,你需要在\r\n
函数中使用\n
而不是scanf
。
答案 1 :(得分:0)
在linux上,你有wc命令:
>>wc test1.cpp
214 575 5580 test1.cpp
这意味着文件test1.cpp有214行,575个字和5580个字节。