Я пытаюсь прочитать текстовый файл на основе использования оператора >>
потока, но это, кажется, читает файл слово за словом:Обнаружить конец строки при чтении из текстового файла C++
void printFile(char filename[])
{
ifstream input;
input.open(filename);
char output[50];
if (input.is_open()) {
while (!input.eof()) {
input >> output;
cout << output << endl;
}
}
else cout << "File is not open!";
input.close();
cout << endl;
}
только проблема заключается в том, что он не будет распечатывать строки.
Обратите внимание, что я все еще изучаю C++, и цель заключается в достижении этого без using string
s (так без getline
). Есть ли способ сделать это, или это просто невозможно?
ли цель просто не GetLine? Вместо этого вы могли бы прочитать символ, который предотвратил бы потерю '\ n' – odin
Прочитайте файл с помощью getline(), так что вам не нужно беспокоиться о разрывах строк. И прочитайте https://latedev.wordpress.com/2012/12/04/all-about-eof, чтобы узнать, почему бы не зациклиться на eof(). –
@NeilButterworth Я думаю, вы пропустили часть моего вопроса –