可能性の重複:
Why is iostream::eof inside a loop condition considered wrong?試験stream.good()またはstream.eofは()最後の行を読み込み、二回
I次のコードがあります
ifstream f("x.txt");
string line;
while (f.good()) {
getline(f, line);
// Use line here.
}
を
しかし、最後の行が2回読み込まれます。なぜこれが起こり、どのように修正するのですか?非常によく似た
何かが起こると:
ifstream f("x.txt");
string line;
while (!f.eof()) {
getline(f, line);
// Use line here.
}
これは重複していますか?もう1つの答えは、テストとしてgood()関数を使ってループすることについて言及していません。 –