我想要读取一个文本文件,但在此之前我需要知道我将要读取多少个元素。因此,我需要计算文本文件的行数。到目前为止,我有以下代码:
int getLinecount (char *file)
{
int ch, count = 0;
FILE *fp = fopen(file, "r");
if(fp == NULL)
{
return -1;
}
while((ch = fgetc(fp)) != EOF)
{
if (ch == '\n');
{
count++;
}
}
fclose(fp);
return count;
}
这个很好地解决了。我没有改变文本文件的任何内容,但它仍然打印出130,000,尽管文件只有10,000行。 我在我的主程序中唯一写的是:
linecount = getLinecount("...");
我很好奇错误出在哪里。此外,有没有更好的获取行数的方法?
;
。 - alk-Wextra
选项可以捕获并输出:warning: empty body in an if-statement
。 - Eugen Constantin Dinca