# std::boolalpha, std::noboolalpha

< cpp‎ | io‎ | manip

定义于头文件 `<ios>` |  |
std::ios_base& boolalpha( std::ios_base& str ); | (1) |
std::ios_base& noboolalpha( std::ios_base& str ); | (2) |

1) 启用流 `str` 中的 `boolalpha` 标志，如同通过调用 str.setf(std::ios_base::boolalpha) 。
2) 禁用流 `str` 中的 `boolalpha` 标志，如同通过调用 str.unsetf(std::ios_base::boolalpha) 。

`std::boolalpha` 是 I/O 操纵符，故可用如 out << std::boolalpha 的表达式对任何 std::basic_ostream 类型的 `out` ，或用如 in >> std::boolalpha 的表达式对任何 std::basic_istream 类型的 `in` 调用。

### 参数

str | - | 到 I/O 流的引用

### 返回值

`str` （到操纵后的流的引用）

### 示例

    #include <sstream>
    #include <locale>
    #include <iostream>
    int main()
    {
        // boolalpha 输出
        std::cout << std::boolalpha
                  << "boolalpha true: " << true << '\n'
                  << "boolalpha false: " << false << '\n';
        std::cout << std::noboolalpha
                  << "noboolalpha true: " << true << '\n'
                  << "noboolalpha false: " << false << '\n';
        // boolalpha 分析
        bool b1, b2;
        std::istringstream is("true false");
        is >> std::boolalpha >> b1 >> b2;
        std::cout << '\"' << is.str() << "\" parsed as " << b1 << ' ' << b2 << '\n';
    }

输出：

    boolalpha true: true
    boolalpha false: false
    noboolalpha true: 1
    noboolalpha false: 0
    "true false" parsed as 1 0

### 参阅

resetiosflags | 清除指定的 ios_base 标志 (函数)
setiosflags | 设置指定的 ios_base 标志 (函数)
do_truename do_falsename [虚] | 提供用作布尔 true 和 false 名称的字符串 (`std::numpunct<CharT>` 的虚受保护成员函数)