std::basic_ios<CharT,Traits>::bad
Von cppreference.com
| bool bad() const; |
||
Gibt true zurück, wenn auf dem zugehörigen Stream ein nicht behebbarer Fehler aufgetreten ist. Genauer gesagt, gibt true zurück, wenn badbit in rdstate() gesetzt ist.
Siehe ios_base::iostate für die Liste der Bedingungen, die badbit setzen.
Inhalt |
[edit] Parameter
(keine)
[edit] Rückgabewert
true wenn ein nicht behebbarer Fehler aufgetreten ist, andernfalls false.
[edit] Beispiel
Führen Sie diesen Code aus
#include <cstdlib> #include <fstream> #include <iostream> int main() { std::ifstream file("test.txt"); if (!file) // operator! is used here { std::cout << "File opening failed\n"; return EXIT_FAILURE; } // typical C++ I/O loop uses the return value of the I/O function // as the loop controlling condition, operator bool() is used here for (int n; file >> n;) std::cout << n << ' '; std::cout << '\n'; if (file.bad()) std::cout << "I/O error while reading\n"; else if (file.eof()) std::cout << "End of file reached successfully\n"; else if (file.fail()) std::cout << "Non-integer data encountered\n"; }
[edit] Siehe auch
Die folgende Tabelle zeigt die Werte der basic_ios-Accessorfunktionen (good(), fail() usw.) für alle möglichen Kombinationen von ios_base::iostate-Flags
| ios_base::iostate Flags | basic_ios-Zugriffsfunktionen | |||||||
eofbit
|
failbit
|
badbit
|
good() | fail() | bad() | eof() | operator bool | operator! |
| false | false | false | true | false | false | false | true | false |
| false | false | true | false | true | true | false | false | true |
| false | true | false | false | true | false | false | false | true |
| false | true | true | false | true | true | false | false | true |
| true | false | false | false | false | false | true | true | false |
| true | false | true | false | true | true | true | false | true |
| true | true | false | false | true | false | true | false | true |
| true | true | true | false | true | true | true | false | true |