IO标准库的条件状态
strm::badbit strm::iostate类型,用于指出被破坏的流
strm::failbit strm::iostate类型,用于指出可修复的失败的IO
strm::eofbit strm::iostate类型,用于指出流已经到达文件结束符
s.eof() 如果设置了eofbit值,则返回true;
s.fail() 如果设置了failbit值,则返回true;
s.bad() 如果设置了badbit值,则返回true;
s.clear() 将流中所有状态值都设为有效状态;
s.clear(state) 将流中state所指定的状态值设为有效值;
s.setstate(flag) 给s添加指定条件,flag类型为strm::iostate型
流的状态由bad,fail,eof,good揭示。如果bad,fail,eof中有一个为true,则流的状态为错误状态,而若这三者没有一个为true,则good操作返回true。
看看下面一段简单的代码:
测试数据:
1200
abcd
运行结果:
1200
bad data