EOF までのファイルからの整数の読み取り: 二重読み取りの回避
提供された C コードは、テキスト ファイルから最後に到達するまで整数を読み取ります。ファイルの(EOF)。ただし、最後の行を 2 回読み取るため、出力が繰り返されます。これは次の理由で発生します。
解決策:
この問題を解決するには、EOF の読み取り時に終了する while ループを使用します。
while (true) { int x; iFile >> x; if (iFile.eof()) break; cerr << x << endl; }
この中でループ:
このアプローチにより、最後の整数のみが出力されます。
注:
元のコードには、空のファイルを読み取ろうとするという別の潜在的な問題がありました。これは、ストリームがオープンしていて EOF でないかどうかを確認する読み取り操作を if ステートメント内に埋め込むことで解決できます。
以上がC でファイルから整数を読み取るときに二重読み取りを防ぐにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。