public member function
<ios> <iostream>

std::ios::setstate

void setstate (iostate state);
Set error state flag
Modifies the current internal error state flags by combining the current flags with those in argument state (as if performing a bitwise OR operation).

Any error bitflag already set is not cleared. See member clear for a similar function that does.

In the case that no stream buffer is associated with the stream when this function is called, the badbit flag is automatically set (no matter the value for that bit passed in argument state).

Note that changing the state may throw an exception, depending on the latest settings passed to member exceptions.

The current state can be obtained with member function rdstate.

This function behaves as if defined as:
1
2
3
void ios::setstate (iostate state) {
  clear(rdstate()|state);
}

Parameters

state
An object of type ios_base::iostate that can take as value any combination of the following member constants:

iostate value
(member constant)
indicatesfunctions to check state flags
good()eof()fail()bad()rdstate()
goodbitNo errors (zero value iostate)truefalsefalsefalsegoodbit
eofbitEnd-of-File reached on input operationfalsetruefalsefalseeofbit
failbitLogical error on i/o operationfalsefalsetruefalsefailbit
badbitRead/writing error on i/o operationfalsefalsetruetruebadbit
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

none

Data races

Modifies the stream object.
Concurrent access to the same stream object may cause data races.

Exception safety

Basic guarantee: if an exception is thrown, the stream is in a valid state.
It throws an exception of member type failure if the resulting error state flag is not goodbit and member exceptions was set throw for that state.

See also