public member function
<ios> <iostream>

std::ios::fail

bool fail() const;
檢查 failbit 或 badbit 是否已設定
如果流的 failbitbadbit 錯誤狀態標誌 中的一個(或兩者)被設定,則返回 true

當輸入操作期間發生錯誤時,至少會設定這些標誌中的一個。

failbit 通常由操作設定,當錯誤與操作本身的內部邏輯相關時;流上的進一步操作可能仍然可行。而 badbit 通常在錯誤涉及流的完整性丟失時設定,即使嘗試對流進行其他操作,這種完整性丟失很可能會持續存在。badbit 可透過呼叫成員函式 bad 獨立檢查。

iostate
(成員常量)
表示檢查狀態標誌的函式
good()eof()fail()bad()rdstate()
goodbit無錯誤(值為零 iostatetruefalsefalsefalsegoodbit
eofbit到達檔案尾falsetruefalsefalseeofbit
failbitI/O 操作的邏輯錯誤falsefalsetruefalsefailbit
badbitI/O 操作的讀/寫錯誤falsefalsetruetruebadbit
eofbitfailbitbadbit 是具有實現定義值的成員常量,可以進行組合(就像使用按位 OR 運算子一樣)。

goodbit 為零,表示其他位均未設定。

到達檔案結尾會設定 eofbit。但請注意,到達檔案結尾的操作也可能設定 failbit,如果這會導致它們失敗(從而同時設定 eofbitfailbit)。

此函式是 ios::operator! 的同義詞。

引數



返回值

如果設定了 badbit 和/或 failbit,則為 true
否則返回 false

資料競爭

訪問流物件。
併發訪問同一個流物件可能導致資料爭用。

異常安全

強保證: 如果丟擲異常,流不會發生任何改變。

另見