std::setw()是C++标准库中定义的一个流操作符,用于设置输出字段的宽度。
函数声明如下:
std::setw(int n);
参数n是一个整数,表示输出字段的宽度。它影响下一个输出操作的宽度,直到遇到新的std::setw()调用或者流的宽度被重置为默认宽度。
std::setw()通常与输出流操作符<<一起使用,用于设置输出的字段宽度。例如,std::setw(10)表示下一个输出操作将使用10个字符的宽度进行输出。如果输出的字符数少于10,就会在左侧用空格进行填充,以满足设定的宽度要求。
以下是一个示例,演示了std::setw()的使用:
#include <iostream>
#include <iomanip>
int main() {
int number = 12345;
std::cout << std::setw(10) << number << std::endl;
return 0;
}
输出结果为:
12345
在上述示例中,std::setw(10)设置了输出字段宽度为10。因此,number的值被输出为10个字符的宽度,不足的部分用空格进行填充。
需要注意的是,std::setw()只影响下一个输出操作,之后的输出操作不受其影响。如果希望多个输出操作都具有相同的字段宽度,需要在每次输出之前都使用std::setw()进行设置。
另外,std::setw()只对下一个输出操作起作用,不会改变流的宽度。如果希望将流的宽度重置为默认宽度,可以使用流操作符<<并传入0作为参数,例如std::setw(0)。
如果number的值为123456789012,则输出结果为:
123456789012
因为std::setw(10)设置了输出字段宽度为10,但是number的值超过了10个字符的宽度,所以不会进行截断或填充,直接输出整个数字