public member function
<ios> <iostream>

std::basic_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 為零,表示其他位均未設定。

請注意,由於到達檔案尾(End-of-File)而導致的讀取失敗會同時設定 eofbitfailbit

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

引數



返回值

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

資料競爭

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

異常安全

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

另見