c++ std::setw 如何使用?
时间: 2024-12-20 16:21:22 浏览: 13
`std::setw` 是 C++ 标准库中的成员函数,用于控制输出流(通常是 `std::cout`)中的字段宽度。它影响的是数值前面的空格或填充字符。
在示例中[^1],`std::setw(n)` 的用法是设置接下来输出的数字占n个字符宽。当输出的数值长度小于指定宽度时,会在其右侧添加空格以达到指定宽度;如果数值长度大于指定宽度,则不会自动截断,而是保持原样并继续占据剩余空间。
例如:
```cpp
#include <iostream>
#include <iomanip> // 包含iomanip头文件以使用setw
int main() {
float a = 123.456;
float b = 987.654;
std::cout << "Without setw: a=" << a << std::endl;
std::cout << "With setw(5): a=" << std::setw(5) << a << std::endl; // 输出将被填充至5个字符宽
return 0;
}
```
运行这段代码,你会看到 "Without setw" 行中的 "a=123.456",而在 "With setw(5)" 行中,由于 a 的小数部分已经占据了足够的空间,所以会直接输出,右边不会有额外的填充。
`std::setfill` 可以配合 `std::setw` 使用,用来设定填充字符[^2],比如你可以设置 `std::setfill('.')` 来让宽度内的空白被小数点填充,而不是默认的空格。
阅读全文