Error Handling and State
Check stream state.
Stream State Bits
Every stream tracks its condition with state flags:
- goodbit: all is well.
- eofbit: end of file reached.
- failbit: a logical error (bad format).
- badbit: a serious I/O error.
#include <iostream>
#include <fstream>
int main() {
std::ifstream in("missing_98765.txt");
std::cout << std::boolalpha << "good: " << in.good() << '\n';
return 0;
}Testing a Stream
A stream converts to bool: it is true when usable. if (!in) detects failure concisely.
#include <iostream>
#include <fstream>
int main() {
std::ifstream in("nope_55555.txt");
if (!in) std::cout << "stream not usable\n";
else std::cout << "ok\n";
return 0;
}All lessons in this course
- Reading Files with ifstream
- Writing Files with ofstream
- Binary File I/O
- Error Handling and State