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库-流的状态的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ Primer 5th笔记(8)c
- 下一篇: C++ Primer 5th笔记(8)c