IO库格式化输入与输出

#include<iostream>
#include<iomanip>

一:控制布尔值的格式
boolalpha noboolalpha

    std::cout << true << std::endl;//1
    std::cout << std::boolalpha;
    std::cout << true << std::endl;//true
    std::cout << false << std::endl;//false
    std::cout << std::noboolalpha;
    std::cout << false << std::endl;//0

二:指定整形值的进制
hex dec oct

    std::cout << 20 << std::endl;//20
    std::cout << std::oct << 20 << std::endl;//24
    std::cout << std::dec << 20 << std::endl;//20
    std::cout << std::hex << 20 << std::endl;//14

三:在输出中指出进制

    std::cout << std::showbase;
    std::cout << std::noshowbase;
    std::cout << std::uppercase;
    std::cout << std::nouppercase;
    0x 十六进制
    0  八进制
    无 十进制

四:十六进制大写

    std::cout << std::uppercase;
    std::cout << std::nouppercase;

五:制定浮点数打印精度

    std::cout << std::cout.precision() <<' ' << std::sqrt(2) << std::endl;
    std::cout.precision(10);//std::cout<<std::setprecision(10);
    std::cout << std::cout.precision() <<' ' << std::sqrt(2) << std::endl;

六:输出补白

    int i = -19;
    double d = 3.14159;

    std::cout << "i: " << std::setw(10) << i << std::endl
              << "d: " << std::setw(10) << d << std::endl;

    std::cout << std::left
              << "i: " << std::setw(10) << i << std::endl
              << "d: " << std::setw(10) << d << std::endl;

    std::cout << std::right
              << "i: " << std::setw(10) << i << std::endl
              << "d: " << std::setw(10) << d << std::endl;

    std::cout << std::internal
              << "i: " << std::setw(10) << i << std::endl
              << "d: " << std::setw(10) << d << std::endl;

    std::cout << std::setfill('*')
              << "i: " << std::setw(10) << i << std::endl
              << "d: " << std::setw(10) << d << std::endl;

这里写图片描述
七:控制输入格式

    std::cin>>std::noskipws;
    std::cin>>std::skipws;

总结

定义在iostream中的操纵符
boolalpha           将true和false输出为字符串
*noboolalpha        将true 和false输出为1, 0
showbase            对整型值输出表示进制的前缀
*noshowbase         不生成表示进制的前缀
showpoint           对浮点值总是显示小数点
*noshowpoint        只有当浮点值包含小数部分时才显示小数点 
showpos             对非负数显示 +
*noshowpos          对非负数不显示 +
uppercase           在十六进制值中打印OX,在科学记数法中打印E
*nouppercase        在十六进制值中打印0x,在科学记数法中打印e
*dec                整型值显示为十进制
hex                 整型值显示为十六进制
oct                 整型值显示为八进制
left                在值的右侧添加填充字符
right               在值的左侧添加填充字符
internal            在符号和值之间添加填充字符
fixed               浮点值显示为定点十进制
scientific          浮点值显示为科学记数法
hexfloat            浮点值显示为十六进制(C++11新特性)
defaultfloat        重置浮点数格式为十进制(++11新特性,
unitbuf             每次输出操作后都刷新缓冲区
*nounitbuf          恢复正常的缓冲区刷新方式
*skipws             输入运算符跳过空白符
noskipws            输入运算符不跳过空白符
flush               刷新ostream 缓冲区
ends                插入空字符,然后刷新ostream缓冲区
endl                插入换行,然后刷新ostream缓冲区
*                   表示默认流状态
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值