C++格式化输出二: iomanip

C++ 格式化输出 iomanip

包含头文件

#include<iostream>
#include<iomanip>

Iomanip   ====》  IO Manipulators

①. setw

cout<<setw(10);
cout << 11 << endl;
cout << 11 << endl;

输出:

        11
11

setw(10),使得不足10个字符的部分使用空白符填充,多余10个字符,如1111111111,并不会被截断。

②.使用count.width (http://www.cplusplus.com/reference/iomanip/setw/)

int n = -77;
std::cout.width(6); std::cout << std::internal << n << '\n';
std::cout.width(6); std::cout << std::left << n << '\n';
std::cout.width(6); std::cout << std::right << n << '\n';
输出:

-   77
-77
   -77
③.setfill修改填充

cout << setfill('-') << setw(10) << "123" << endl;                     // 修改填充方式
cout << setfill(' ') << setw(10) << std::right << "123" << endl;       // 改回为 使用空白填充‘ ’,中间是个空白符(空格键)
cout << setfill('*') << setw(10) << std::left << "123" << endl;        // std::left std::right设置对齐方式为左对齐,右对齐。当然前提要设置                                                                        

输出:

-------123
       123
123*******	
④. 设置精度:

double d1 = 222.2455565;
double d2 = 4878.3000;
cout << setprecision(3) << d1 << endl;
cout << setprecision(3) << d2 << endl;
输出:
2.2e+002
4.9e+003

⑤. 多进制输出

std::cout << showbase << setbase(2) << 32 << endl;
std::cout << showbase << setbase(8) << 32 << endl;
std::cout << showbase << setbase(10) << 32 << endl;
std::cout << showbase << setbase(16) << 32 << endl;

输出:
32                  //  可以发现,这个二进制是不正确的
040                 //  八进制, 0开头
32                  // 十进制。。。。原样输出
0x20                //  十六进制 0x开头



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值