C++ setw() 函数

C++ setw() 函数用于设置字段的宽度,语法格式如下:

setw(n)

n 表示宽度,用数字表示。

setw() 函数只对紧接着的输出产生作用。

当后面紧跟着的输出字段长度小于 n 的时候,在该字段前面用空格补齐,当输出字段长度大于 n 时,全部整体输出。

https://static.zhishitu.com/wp-content/uploads/cpp-setw-20200922-ZHISHITU.svg

以下实例演示了 setw() 函数的使用:

实例


#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
    // 开头设置宽度为 4,后面的 zhishitu 字符长度大于 4,所以不起作用
    cout << setw(4) << "zhishitu" << endl;
    // 中间位置设置宽度为 4,后面的 zhishitu 字符长度大于 4,所以不起作用
    cout << "zhishitu" << setw(4) << "zhishitu" << endl;
    // 开头设置间距为 14,后面 zhishitu 字符数为6,前面补充 8 个空格
    cout << setw(14) << "zhishitu" << endl;
    // 中间位置设置间距为 14 ,后面 zhishitu 字符数为6,前面补充 8 个空格
    cout << "zhishitu" << setw(14) << "zhishitu" << endl;
    return 0;
}

以上代码输出结果为:


zhishitu
zhishituzhishitu
        zhishitu
zhishitu        zhishitu

setw() 默认填充的内容为空格,可以 setfill() 配合使用设置其他字符填充。

实例


#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
    cout << setfill('*')  << setw(14) << "zhishitu" << endl;
    return 0;
}

以上代码输出结果为:


********zhishitu
计算机