public member function
<ios> <iostream>
std::ios::bad
Check whether badbit is set
Returns true
if the badbit error state flag is set for the stream.
This flag is set by operations performed on the stream when an error occurs while read or writing data, generally causing the loss of integrity of the stream.
Notice that this function is not the exact opposite of good, which checks whether none of the error flags (eofbit, failbit and badbit) are set, and not only badbit:
iostate value
(member constants) | indicates | functions to check state flags |
good() | eof() | fail() | bad() | rdstate() |
goodbit | No errors (zero value iostate) | true | false | false | false | goodbit |
eofbit | End-of-File reached on input operation | false | true | false | false | eofbit |
failbit | Logical error on i/o operation | false | false | true | false | failbit |
badbit | Read/writing error on i/o operation | false | false | true | true | badbit |
eofbit, failbit and badbit are member constants with implementation-defined values that can be combined (as if with the bitwise OR operator).
goodbit is zero, indicating that none of the other bits is set.
Return Value
true
if the stream's badbit error state flag is set.
false
otherwise.
Data races
Accesses the stream object.
Concurrent access to the same stream object may cause data races.
Exception safety
Strong guarantee: if an exception is thrown, there are no changes in the stream.
See also
- ios::good
- Check whether state of stream is good (public member function)
- ios::fail
- Check whether either failbit or badbit is set (public member function)
- ios::eof
- Check whether eofbit is set (public member function)
- ios::rdstate
- Get error state flags (public member function)
- ios::clear
- Set error state flags (public member function)