C++中使用cout对齐文本和设置字段宽度

C++中使用cout对齐文本和设置字段宽度

使用流类时,可指定为您执行特定操作的控制符( manipulator)。 std::endl 就是一个这样的控制符,
您一直在使用它来插入换行符:
std::cout << “This lines ends here” << std::endl;
表 27.2 列出了其他几个控制符和标志

类/对象 用途

输出控制符

endl 插入一个换行符
ends 插入一个空字符

基数控制符

dec 让流以十进制方式解释输入或显示输出
hex 让流以十六进制方式解释输入或显示输出
oct 让流以八进制方式解释输入或显示输出

浮点数表示控制符

fixed 让流以定点表示法显示数据
scientific 让流以科学表示法显示数据

控制符

setprecision 设置小数精度
setw 设置字段宽度
setfill 设置填充字符
setbase 设置基数,与使用 dec、 hex 或 oct 等效
setiosflag 通过类型为 std::ios_base::fmtflags 的掩码输入参数设置标志
resetiosflag 将 std::ios_base::fmtflags 参数指定的标志重置为默认值

可使用 setw( )控制符来设置字段宽度,插入到流中的内容将在指定宽度内右对齐。在这种情况下,
还可使用 setfill( )指定使用什么字符来填充空白区域,如程序清单 27.3 所示。

程序清单 27.3 使用控制符 setw( )设置字段宽度,并使用 setfill( )指定填充字符

0: #include <iostream>
1: #include <iomanip>
2: using namespace std;
3:
4: int main()
5: {
6: cout << "Hey - default!" << endl;
7:
8: cout << setw(35); // set field width to 25 columns
9: cout << "Hey - right aligned!" << endl;
10:
11: cout << setw(35) << setfill('*');
12: cout << "Hey - right aligned!" << endl;
13:
14: cout << "Hey - back to default!" << endl;
15:
16: return 0;
17: }

输出:

Hey - default!
Hey - right aligned!
***************Hey - right aligned!
Hey - back to default!

分析:
第 8 行使用了 setw(35),而第 11 行使用了 setw(35)和 setfill(‘*’),输出说明了这样做的效果。从输
出可知,第 11 行导致使用 setfill( )指定的星号来填充文本前的空白区域

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值