std::setw(n)的作用是设置输出宽度为n,默认为右对齐,并且用空格填充。

例如:cout << std::setw(5) << "0" << "1" << endl,该语句就是设置字符串"0"的输出宽度为5,默认为右对齐,空格填充。

若想使用其他符号填充(例如用'*'填充),则可以用cout << std::setw(5) << setfill('*') << "0" << "1" << endl;

如果想修改成左对齐,则只需要在std::setw(n)之前加上std::left即可。

当要输出的字符串宽度大于setw设置的宽度n时,直接输出想要输出的字符串即可(此时忽视setw设置的宽度)。

通过运行如下测试代码即可了解setw()的规则:

#include <iomanip>
#include <iostream>
#include<string.h>
using namespace std;int main()
{/*默认为右对齐,此时加不加std::right都可以 */cout << std::setw(5) << "0" << "1" << endl;cout << std::setw(5) << "00" << "1" << endl;cout << std::setw(5) << "000" << "1" << endl;/*用<<left或者std::left改成左对齐*/cout << std::left << std::setw(5) << "0" << "1" << endl;cout << std::left << std::setw(5) << "00" << "1" << endl;cout << std::left << std::setw(5) << "000" << "1" << endl;/*当要输出的字符串宽度大于setw设置的宽度时,直接输出想要输出的字符串即可*/cout << std::right <<std::setw(5) << "0000000" << "1" << endl;/*用其他符号填充*/cout << std::right <<std::setw(5) << setfill('*') << "0" << "1" << endl;cout << std::left << std::setw(5) << setfill('*') << "0" << "1" << endl;return 0;
}

代码运行结果:

C++中std::setw()的用法相关推荐

  1. C++中std::string::find_last_of用法

    早上本来还看代码时本来还迷迷糊糊,结果被find_last_of一下给震醒了,std::string 使用了这么多年,今天才发现find_last_of只是用来查找字符的,多年来一直以为它可用来查找字 ...

  2. 【C++】浮点数的std::fixed、std::setprecision()、std::setw()用法

    [C++]50.浮点数的std::fixed.std::setprecision().std::setw()用法 C++中std::setw()的用法 1. std::fixed() #include ...

  3. C++/C++11中std::string用法汇总

    C++/C++11中std::string是个模板类,它是一个标准库.使用string类型必须首先包含<string>头文件.作为标准库的一部分,string定义在命名空间std中. st ...

  4. C++中std::tr1::function和bind 组件的使用

    在C++的TR1中(Technology Report)中包含一个function模板类和bind模板函数,使用它们可以实现类似函数指针的功能,但却却比函数指针更加灵活,特别是函数指向类的非静态成员函 ...

  5. 概率论中指数分布介绍及C++11中std::exponential_distribution的使用

    指数分布:在深度学习中,我们经常会需要一个在x=0点处取得边界点(sharp point)的分布.为了实现这一目的,我们可以使用指数分布(exponential distribution): p(x; ...

  6. 概率论中高斯分布(正态分布)介绍及C++11中std::normal_distribution的使用

    高斯分布:最常用的分布是正态分布(normal distribution),也称为高斯分布(Gaussian distribution): 正态分布N(x;μ,σ2)呈现经典的"钟形曲线&q ...

  7. 概率论中伯努利分布(bernoulli distribution)介绍及C++11中std::bernoulli_distribution的使用

    Bernoulli分布(Bernoulli distribution):是单个二值随机变量的分布.它由单个参数ø∈[0,1],ø给出了随机变量等于1的概率.它具有如下的一些性质: P(x=1)= ø ...

  8. C++11 std::bind std::function 高级用法

    C++11 std::bind std::function 高级用法 (c++11的新特性) 原文:https://blog.csdn.net/yangjie6898862/article/detai ...

  9. C++中substr函数的用法

    C++中substr函数的用法 #include<string> #include<iostream> using namespace std; main() { string ...

最新文章

  1. 从零开始学Go之接口(一):接口
  2. 2019江行智能 后端开发工程师Go 面试题
  3. c语言课程设计怎么做,C语言课程设计————写下流程图! 谢谢
  4. 等差数列划分Python解法
  5. linux定时任务执行url,科技常识:linux定时任务访问url实例
  6. 推荐一个前端ui框架:SuperUI ui开发框架
  7. 【IDEA】Cause: invalid type code: 8D
  8. 自己动手写Docker系列 -- 4.1使用busybox创建容器
  9. mapxtreme for java_MapXtreme For Java 4.8.2 超菜入门
  10. 淘宝分类大全及其分组 (MySql, xls)文件,上下关系,拼写,层级,层级树,提示,2022年2月28日数据
  11. 微pe Linux,微PE工具箱 v2.1 正式版
  12. 超强大几十款功能组合而成的一款工具箱微信小程序源码下载支持N个流量主
  13. 无法解析类型 javax.swing.JComponent。从必需的 .class 文件间接引用了它
  14. Nginx 重定向所有子域名到www
  15. Python-xlsx转置,行转列,列转行
  16. Web前端HTML使用
  17. redis简略版笔记
  18. lzo的正确c语言代码,LZO 使用跟介绍
  19. 单片机音乐盒c语言源程序,51单片机八音盒源程序(汇编语言)
  20. 【BZOJ3837】[Pa2013]Filary 随机化神题

热门文章

  1. 一个关于xgen开发导入的问题,但其实我觉得更重要的是过程中发生的事情。
  2. 2509 Problem H:奇怪的分式
  3. 2022年RPA机器人流程自动化行业研究报告
  4. 自定义时间(小时:分钟)选择器
  5. ceph L版本相对于J版本在scrub机制上做的优化
  6. WebLogic启动服务卡住报错 :Server started in RUNNING mode
  7. linux内核参数分析,linux内核启动第一阶段分析
  8. JAVA多线程使用场景和注意事项
  9. 项目中Java的多线程一般用在哪些场景?
  10. Sunday 算法-JavaScript实现