#define SIZE 30
// some code
ifstream outFile;
outFile.open("lab.txt"); // opening lab document which has a sentence
char buffer[SIZE]; // buffer for storing the sentence when reading from file
while (!outFile.eof()) // reads lab.txt until eof
{
// two methods for output to screen which print sentence on debugging
// but program doesn't terminate
outFile >> buffer;
cout << buffer << endl;
// outFile.getline(buffer, SIZE);
// cout << buffer << endl;
}
Этот код предназначен для чтения из файла последовательности, например lab.txt
. Проблема в том, что, когда я запускаю предложение в файле, я печатаю, но за ним следует бесконечный цикл, который продолжает печатать пробелы, поэтому программа никогда не заканчивается. Я пробовал оба способа, но оба результата одинаковы. Любая помощь будет приветствоваться?Бесконечная петля возникает при чтении из файла в C++
Не используйте '.eof()' – Rakete1111
@ Rakete1111 Теперь оно не печатать ничего. –
Что вы тогда использовали? Вы должны перебрать возвращаемое значение 'operator <<'. http://stackoverflow.com/questions/7868936/read-file-line-by-line – Rakete1111