¿Qué significa el valor de retorno rdstate ()?
istream& Read(istream &is)
{
std::string buf;
while (is >> buf)
{
cout << is.eofbit << " " << is.failbit << " " << is.badbit << endl;
cout << is.rdstate() << endl;
cout << buf << endl;
}
cout << is.eofbit << " " << is.failbit << " " << is.badbit << endl;
cout << is.rdstate() << endl;
is.clear();
cout << is.eofbit << " " << is.failbit << " " << is.badbit << endl;
cout << is.rdstate() << endl;
return is;
}
Si ingreso caracteres normales como "prueba", la salida es1 2 4 0
.
Luego escribo CTRL + Z (windows), la salida es1 2 4 3
1 2 4 0
.
Pregunta: 1. ¿Qué hacerdstate()
valor de retorno significa? (¿Por qué genera 3, no 2? No 1?)
is.eofbit
yis.failbit
cambiar después de escribir CTRL + Z? (ComoC ++ Primer 5th Editon dice, Alcanzar conjuntos de fin de archivo tanto eofbit como failbit)