#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"? Может ли кто-нибудь помочь мне объяснить это?