テキストファイルを読み込もうとしていますが、その前に、読み取る要素の数を知りたいと思います。したがって、テキストファイルの行数を数える必要があります。これまでのところ、私はこれを持っています:
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;
}
これはかなりうまくいきました。テキストファイルについては何も変更していませんが、ファイルの行数は10,000行ですが、それでも130,000を出力します。私がメインで書いたのは:
linecount = getLinecount("...");
エラーがどこにあるのか本当に興味があります。また、行数を取得するためのより良いオプションはありますか?