Stream States
Let’s take a closer look at what happens for inappropriate input. A cin
or cout
object contains a data member (inherited from the ios_base
class) that describes the stream state. A stream state (defined as type iostate
, which, in turn, is a bitmask type, such as described earlier) consists of the three ios_base
elements: eofbit
, badbit
, and failbit
. Each element is a single bit that can be 1
(set) or 0
(cleared). When a cin
operation reaches the end of a file, it sets eofbit
. When a cin
operation fails to read the expected characters, as in the earlier example, it sets failbit
. I/O failures, such as trying to read a non-accessible file or trying to write to a write-protected disk, also can set failbit
to 1
. The badbit
element is ...
Get C++ Primer Plus now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.