欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > c/c++ >内容正文

c/c++

C++ Primer 5th笔记(8)chapter8 类:IO库-流的状态

发布时间:2025/3/21 c/c++ 29 豆豆
生活随笔 收集整理的这篇文章主要介绍了 C++ Primer 5th笔记(8)chapter8 类:IO库-流的状态 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1. 定义:流有状态,表示是否出错。

eg. 通常在使用它时要测试它的状态:

while (cin >> word)

注:只有在非错误状态下,stream才能被读写

2. 流的状态值

strm::iostate 机器相关的整型名,由各个iostream类定义,用于定义条件状态
strm::badbit strm::iostate 类型的值, 流已崩溃
strm::failbit strm::iostate 类型的值,用于指出失败的IO操作int ival;cin >> ival;
strm::eofbit strm::iostate 类型的值,用于指出流已经到达文件结束符
s.eof() 如果设置了流 s 的 eofbit 值,则该函数返回true
s.fail() 如果设置了流 s 的 failbit 值,则该函数返回true
s.bad() 如果设置了流 s 的 badbit 值,则该函数返回 true
s.good() 如果流 s 处于有效状态,则该函数返回 true

3. 四个流状态函数

s.clear() 将流 s 中的所有状态值都重设为有效状态
s.clear(flag) 将流s中的某个指定条件状态设置为有效。flag的类型是strm::iostate
s.setstate(flag) 给流 s 添加指定条件。flag 的类型是 strm::iostate
s.rdstate() 返回流 s 的当前条件,返回值类型为 strm::iostate

eg. 多个状态位可以用按位与(AND)或按位或操作(OR)来一起设置。

is.setstate(ifstream::badbit | ifstream::failbit);

总结

以上是生活随笔为你收集整理的C++ Primer 5th笔记(8)chapter8 类:IO库-流的状态的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。