C++ Primer 5th笔记(8)chapter8 类:IO库-流的状态
1. 定義:流有狀態(tài),表示是否出錯。
eg. 通常在使用它時要測試它的狀態(tài):
while (cin >> word)注:只有在非錯誤狀態(tài)下,stream才能被讀寫
2. 流的狀態(tài)值
strm::iostate 機(jī)器相關(guān)的整型名,由各個iostream類定義,用于定義條件狀態(tài)
strm::badbit strm::iostate 類型的值, 流已崩潰
strm::failbit strm::iostate 類型的值,用于指出失敗的IO操作int ival;cin >> ival;
strm::eofbit strm::iostate 類型的值,用于指出流已經(jīng)到達(dá)文件結(jié)束符
s.eof() 如果設(shè)置了流 s 的 eofbit 值,則該函數(shù)返回true
s.fail() 如果設(shè)置了流 s 的 failbit 值,則該函數(shù)返回true
s.bad() 如果設(shè)置了流 s 的 badbit 值,則該函數(shù)返回 true
s.good() 如果流 s 處于有效狀態(tài),則該函數(shù)返回 true
3. 四個流狀態(tài)函數(shù)
s.clear() 將流 s 中的所有狀態(tài)值都重設(shè)為有效狀態(tài)
s.clear(flag) 將流s中的某個指定條件狀態(tài)設(shè)置為有效。flag的類型是strm::iostate
s.setstate(flag) 給流 s 添加指定條件。flag 的類型是 strm::iostate
s.rdstate() 返回流 s 的當(dāng)前條件,返回值類型為 strm::iostate
eg. 多個狀態(tài)位可以用按位與(AND)或按位或操作(OR)來一起設(shè)置。
is.setstate(ifstream::badbit | ifstream::failbit);總結(jié)
以上是生活随笔為你收集整理的C++ Primer 5th笔记(8)chapter8 类:IO库-流的状态的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ Primer 5th笔记(8)c
- 下一篇: C++ Primer 5th笔记(8)c