# std::basic_ios<CharT,Traits>::setstate

< cpp‎ | io‎ | basic ios

void setstate( iostate state ); |  |

在当前已设置表之外，设置流错误状态标志 `state` 。实质上调用 clear(rdstate() | state) 。可能抛出异常。

### 参数

state | - | 要设置的流错误状态标志。能为下列常量的组合：
常量 | 解释
`goodbit` | 无错误
`badbit` | 不可恢复的流错误
`failbit` | 输入/输出操作失败（格式化或提取错误）
`eofbit` | 关联的输出序列已抵达文件尾

### 返回值

（无）

### 示例

    #include <iostream>
    #include <sstream>

    int main()
    {
        std::ostringstream stream;

        if (!stream.fail()) {
            std::cout << "stream is not fail\n";
        }

        stream.setstate(std::ios_base::failbit);

        if (stream.fail()) {
            std::cout << "now stream is fail\n";
        }

        if (!stream.good()) {
            std::cout << "and stream is not good\n";
        }
    }

输出：

    stream is not fail
    now stream is fail
    and stream is not good

### 参阅

rdstate | 返回状态标志 (公开成员函数)
clear | 修改状态标志 (公开成员函数)