setw简介

举报
liuzhen007 发表于 2021/05/28 04:12:31 2021/05/28
【摘要】 setw(int n)的作用,一般理解成是用来控制输出间隔的,但这只是表象,实际上是用来预设输出宽度的。setw默认右对齐,其余部分自动补空格。还有一些别的特性,直接看代码会更直观,代码: #include <iostream>#include <iomanip>using namespace std;int main(){ cout <&lt...

setw(int n)的作用,一般理解成是用来控制输出间隔的,但这只是表象,实际上是用来预设输出宽度的。setw默认右对齐,其余部分自动补空格。还有一些别的特性,直接看代码会更直观,代码:


  
  1. #include <iostream>
  2. #include <iomanip>
  3. using namespace std;
  4. int main()
  5. {
  6. cout << setw(6) << 10 << endl; //输出1
  7. cout << setw(6) << setiosflags(ios::left) <<setfill('*') << 10 << endl; //输出2
  8. cout << setw(6) << setiosflags(ios::right) <<setfill('*') << 10 << endl; //输出3
  9. cout << setw(6) << setfill('*') << 10 << endl; //输出4
  10. int a=10;
  11. int b=20;
  12. cout.setf(ios::right,ios::adjustfield);
  13. cout.fill('0');
  14. cout << setw(7) << a <<endl; //输出5
  15. cout << setw(8) << b << endl; //输出6
  16. return 0;
  17. }

运行结果:


  
  1. 10
  2. 10****
  3. ****10
  4. ****10
  5. 0000010
  6. 00000020

那么问题来了,如果预设宽度不足,怎么办?那么以实际输出为准,请看如下代码:


  
  1. #include <iostream>
  2. #include <iomanip>
  3. using namespace std;
  4. int main()
  5. {
  6. cout << setw(4) << 100 <<endl; //输出1
  7. cout << setw(4) << 1000 << endl; //输出2
  8. cout << setw(4) << 10000 << endl; //输出3
  9. return 0;
  10. }

运行结果:


  
  1. 100
  2. 1000
  3. 10000

 

文章来源: liuzhen.blog.csdn.net,作者:Data-Mining,版权归原作者所有,如需转载,请联系作者。

原文链接:liuzhen.blog.csdn.net/article/details/103081140

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。