Что означает возвращаемое значение 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;
}
Если я введу нормальные символы, такие как «тест», вывод1 2 4 0
.
Затем я набираю CTRL + Z (окна), вывод1 2 4 3
1 2 4 0
.
Вопрос: 1. что делаетrdstate()
Возвращаемое значение означает? (Почему выводится 3, а не 2? Не 1?)
is.eofbit
а такжеis.failbit
изменить после того, как я набрал CTRL + Z? (КакУчебник по С ++ 5-й Эдитон говорит, что достижение конца файла устанавливает как eofbit, так и failbit)