Возможный дубликат:
Почему iostream:: eof внутри условия цикла считается неправильным?
У меня есть следующий фрагмент кода:
ifstream f("x.txt");
string line;
while (f.good()) {
getline(f, line);
// Use line here.
}
Но это дважды читает последнюю строку. Почему это происходит и как его исправить?
Что-то очень похожее происходит с:
ifstream f("x.txt");
string line;
while (!f.eof()) {
getline(f, line);
// Use line here.
}