1
我想了解更多关于流状态的信息,并且阅读heregood()
如果流最近的I/O操作成功完成,则返回true。我曾尝试以下,如果我理解正确的话,违背了上述说法C++:流输出操作成功,但状态不好
#include <iostream>
#include <sstream>
int main() {
std::stringstream ss;
int x;
ss << "42";
ss >> x;
std::cout << x << std::endl; // prints 42 as expected
std::cout << ss.good() << std::endl; // prints 0, expected 1
return 0;
}
有人能解释,为什么流的状态并不好,即使最后(输出)操作成功?谢谢
流已经意识到它到达文件结束,所以它不再是“好”。 –
在'>>'的数字超载期间遇到蒸汽末端,请参阅http://en.cppreference.com/w/cpp/io/ios_base/iostate – pat
谢谢大家。我的印象是eofbit只能在下一个字符提取时设置(这是从文件读取时发生的情况)。 – linuxfever