C++ 中 setw() 函数 控制字段宽度

C++ 函数 - setw()·

https://www.runoob.com/cplusplus/cpp-tutorial.html

位于C++ 标准库 #include

其中io代表输入输出,manip是manipulator(操纵器)的缩写

描述·

设定栏位宽度,设置要在输出操作前使用的字段宽度

主要是对cin,cout之类的一些操纵运算子,比如setfill,setw,setbase,setprecision等等。它是I/O流控制头文件,就像C里面的格式化输出一样。

setw(int n)是c++中在输出操作中使用的字段宽度设置,设置输出的域宽,n表示字段宽度(该字段宽度包括要输出的字符和空格)。只对紧接着的输出有效,紧接着的输出结束后又变回默认的域宽。

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

用法·

1
2
3
4
5
6
7
8
9
10
// setw 的例子
#include <iostream> // std::cout, std::endl
#include <iomanip> // std::setw
using namespace std;
int main () {
cout << setw(10);
cout << 77 << endl;
cout << 12 << setw(4) << 12345 << 12 << setw(5) << 678 << endl;
return 0;
}

输出:

1
2
3
4
        77
// 前面8个空格+两个数字,共占域宽10
121234512 678
// 因为12345超过了4个宽度限制所以无效,而678没有超过5个宽度限制所以前面补上2个空格

返回值·

未指定。此函数只能用作 流操纵器。