获取文件C中行数的最佳方法

时间:2015-05-25 07:02:39

标签: c

我正在寻找一种有效的方法来获得fie中的行数。我可以选择在写入文件或打开文件并计算行数后将数字写入另一个文件。哪个更好?

2 个答案:

答案 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个字节。