public member function
<ios> <iostream>
檢查 failbit 或 badbit 是否已設定
如果流的 failbit 或 badbit 錯誤狀態標誌中的一個(或兩個)已設定,則返回 true
。
當輸入操作期間發生錯誤時,至少會設定其中一個標誌。
failbit 通常由操作設定,表示錯誤與操作本身的內部邏輯相關,並且可能允許進行進一步的流操作。而 badbit 通常在錯誤涉及流的完整性丟失時設定,即使嘗試對流執行不同的操作,這種情況也很可能持續存在。badbit 可以透過呼叫成員函式 bad 來獨立檢查。
iostate 值 (成員常量) | 表示 | 檢查狀態標誌的函式 |
good() | eof() | fail() | bad() | rdstate() |
goodbit | 無錯誤(值為零 iostate) | true | false | false | false | goodbit |
eofbit | 到達檔案尾 | false | true | false | false | eofbit |
failbit | I/O 操作的邏輯錯誤 | false | false | true | false | failbit |
badbit | I/O 操作的讀/寫錯誤 | false | false | true | true | badbit |
eofbit、failbit 和 badbit 是具有實現定義值的成員常量,可以進行組合(就像使用按位 OR 運算子一樣)。
goodbit 為零,表示其他位均未設定。
請注意,由於到達檔案尾(End-of-File)而導致的讀取失敗會同時設定 eofbit 和 failbit。
此函式是 basic_ios::operator! 的同義詞。
返回值
如果設定了 badbit 和/或 failbit,則返回 true
。
否則返回 false
。
資料競爭
訪問流物件。
併發訪問同一個流物件可能導致資料爭用。
異常安全
強保證: 如果丟擲異常,流不會發生任何改變。