行ごとに読み取りたいファイルがありますが、動的に実行する必要があります。つまり、メソッドを呼び出したときにのみ行を読み取る必要があります。次回このメソッドを呼び出すと、ファイルの次の行が読み込まれます。これまでのところ、ファイル内のすべての行を読み取るか、同じ行を何度も読み取ることに成功しています。
これが私のコードです:
メソッドを含むファイル:
int getNextData(){
static const char filename[] = "file.txt";
FILE *file = fopen ( filename, "r" );
if ( file != NULL )
{
char line [ 5 ]; /* or other suitable maximum line size */
if ( fgets ( line, sizeof line, file ) != NULL ) /* read a line */
{
fputs ( line, stdout ); /* write the line */
}
}
else
{
perror ( filename ); /* why didn't the file open? */
}
return 0;
}
メインファイル:
int main () {
// this should give me two different numbers
getNextData();
getNextData();
return 0;
}
「含める」を省略しましたが、その部分は正しいです。
この場合の出力は、同じ行が 2 回です。
誰でも私を助けてもらえますか?