std::basic_ios<CharT,Traits>::fail
From cppreference.com
C++
Input/output library
| I/O manipulators | ||||
| Print functions (C++23) | ||||
| C-style I/O | ||||
| Buffers | ||||
(C++23) | ||||
(C++98/26*) | ||||
(C++20) | ||||
| Streams | ||||
| Abstractions | ||||
| File I/O | ||||
| String I/O | ||||
| Array I/O | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
(C++98/26*) | ||||
(C++98/26*) | ||||
(C++98/26*) | ||||
| Synchronized Output | ||||
(C++20) | ||||
| Types | ||||
| Error category interface | ||||
(C++11) | ||||
(C++11) |
std::basic_ios
| Member functions | ||||
| State functions | ||||
basic_ios::fail | ||||
| Formatting | ||||
| Miscellaneous | ||||
| Protected member functions | ||||
(C++11) | ||||
(C++11) | ||||
(C++11) |
| bool fail() const; |
|
Returns true if an error has occurred on the associated stream. Specifically, returns true if badbit or failbit is set in rdstate().
See ios_base::iostate for the list of conditions that set failbit or badbit.
Contents |
[edit] Parameters
(none)
[edit] Return value
true if an error has occurred, false otherwise.
[edit] Example
Run this code
#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] See also
The following table shows the value of basic_ios accessors (good(), fail(), etc.) for all possible combinations of ios_base::iostate flags:
| ios_base::iostate flags | basic_ios accessors
| |||||||
eofbit
|
failbit
|
badbit
|
good() | fail() | bad() | eof() | operator bool | operator! |
| false | false | true | false | true | false | |||
| false | false | true | false | true | false | true | ||
| false | true | false | true | false | true | |||
| false | true | false | true | false | true | |||
| true | false | true | false | |||||
| true | false | true | false | true | false | true | ||
| true | true | false | true | false | true | false | true | |
| true | true | false | true | false | true | |||
| checks for a file error (function) [edit] |