C++setw()函数介绍
介绍
C++ setw() 函数用于设置字段的宽度
语法格式如下: setw(n); n 表示宽度,用数字表示。
setw();
函数只对紧接着的输出产生作用。 当后面紧跟着的输出字段长度小于 n 的时候, 在该字段前面用空格补齐,当输出字段长度大于n时,
没有什么效果。
代码
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
// 开头设置宽度为 4,后面的 runoob 字符长度大于 4,所以不起作用
cout << setw(4) << "runoob" << endl;
// 中间位置设置宽度为 4,后面的 runoob 字符长度大于 4,所以不起作用
cout << "runoob" << setw(4) << "runoob" << endl;
// 开头设置间距为 14,后面 runoob 字符数为6,前面补充 8 个空格
cout << setw(14) << "runoob" << endl;
// 中间位置设置间距为 14 ,后面 runoob 字符数为6,前面补充 8 个空格
cout << "runoob" << setw(14) << "runoob" << endl;
return 0;
}
结果
runoob
runoo brunoob
runoob
runoob runoob
知识拓展
提示
:经过上面的例子,右边字符串数+空格=setw(n)中的 n 值 知道 n 和字符串计算空格,为了美观格式化输出而已。
setw() 默认填充的内容为空格,可以 setfill() 配合使用设置其他字符填充。
代码
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
cout << setfill('*') << setw(14) << "runoob" << endl;
return 0;
}
结果
以上代码输出结果为:
********runoob
解释
解释:14个宽度,runoob占用6个,还需要8个空格, 而setfill(‘*’);填充前面8个空格