#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;
}
Je suis vraiment confus au sujet de la fonction eof()
. Supposons que le contenu de mon ex.txt soit :
abc
Il lit toujours un caractère supplémentaire et affiche -1
lors de la lecture à l'aide de eof()
. Mais le inf >> c
donné la sortie correcte qui était « abc » ? Quelqu'un peut-il m'aider à expliquer cela?