Спасибо, исправил ответ.
#include <iostream>
#include <fstream>
int main() {
std::fstream inf( "ex.txt", std::ios::in );
while( !inf.eof() ) {
std::cout << inf.get() << "\n";
}
inf.close();
inf.clear();
inf.open( "ex.txt", std::ios::in );
char c;
while( inf >> c ) {
std::cout << c << "\n";
}
return 0;
}
ствительно смущенeof()
функция. Предположим, что содержимое моего ex.txt было:
abc
Он всегда читает лишний символ и показывает-1
при чтении с использованиемeof()
, Ноinf >> c
дал правильный вывод, который был 'abc'? Может кто-нибудь помочь мне объяснить это?