Ввод файла не работает должным образом

в основном:

ifstream file("text.txt");
string line;
while (file) {
file>>line;
cout<<line<<endl;
}

в text.txt:

hello
goodbye

выход:

hello
goodbye
goodbye

Почему последняя строка печатается дважды?

1

Решение

Дублирование: Когда вы читаете «до свидания» в первый раз, вы не знаете, что достигли конца файла и переходите к следующей итерации. Тогда не читать, получить eof бит установлен, но распечатывает текущее значение line, который остается «до свидания».

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]