c++11:std::boolalpha、std::noboolalpha

_李白_發表於2020-11-04

標頭檔案:<ios>

std::ios_base& boolalpha( std::ios_base& str );
std::ios_base& noboolalpha( std::ios_base& str );

分別表示啟用/禁用流str中的boolalpha標誌

直接看一個直觀的例項

#include <sstream>
#include <locale>
#include <iostream>
int main()
{
    // boolalpha 輸出
    std::cout << std::boolalpha    
              << "boolalpha true: " << true << '\n'  //啟用std::boolalpha   true輸出就是true
              << "boolalpha false: " << false << '\n';  //false輸出也是false
    std::cout << std::noboolalpha
              << "noboolalpha true: " << true << '\n'  //禁用std::boolalpha   true輸出是1
              << "noboolalpha false: " << false << '\n';  //false輸出同理是0
    // boolalpha 分析
    bool b1, b2;
    std::istringstream is("true false");
    is >> std::boolalpha >> b1 >> b2;  //將is中儲存的true和false分別儲存到b1和b2中
    std::cout << '\"' << is.str() << "\" parsed as " << b1 << ' ' << b2 << '\n';
}

執行結果:
在這裡插入圖片描述

相關文章