1.头文件 <iomanip>
中提供了许多用于控制输出流的函数,setw()
函数可以控制输出流的下一个输出内容的场宽。
int a=114514;
cout<<a;
输出为
114514
当包含了头文件<iomanip>
,并运行以下语句时:
int a=114514;
cout<<setw(10)<<114514; //设置场宽为10
输出结果将为:
114514
可见,当下一个输出的内容的宽度不足 setw()
函数中设置的参数时,输出流将自动在这个输出内容的前面添加字符(默认为空格)来补齐宽度。
当下一个输出的内容超过 setw()
函数中设置的参数时,将不会产生任何效果,例如:
int a=114514;
cout<<setw(1)<<a;
输出结果将为:
114514
需要特别注意, setw()
函数只会对下一个输出内容有效,对于多个输出内容,需要重新设置,例如:
int a=114,b=514;
cout<<setw(10)<<a<<" "<<b;
输出结果将为:
114 514
正确的使用方法为:
int a=114,b=514;
cout<<setw(10)<<a<<" "setw(10)<<b;
输出结果将为:
114 514
你还可以使用 setfill()
函数更改补齐宽度时使用的字符,例如:
int a=114514;
cout<<setfill('*')<<setw(10)<<a; //将补齐宽度时使用的字符设置为'*'
输出结果将为:
****114514
setfill()
函数将对设置之后输出流的所有内容有效,例如:
int a=114,b=514;
cout<<setfill('*')<<setw(10)<<a<<" "<<setw(10)<<b;
输出结果将为:
*******114 *******514
又例如:
int a=114,b=514;
cout<<setw(10)<<a<<" "<<setfill('*')<<setw(10)<<b;
输出结果将为:
114 *******514
版权声明:本文为Leehyuk_qiu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。