C++中的格式化字符串
时间: 2024-09-13 10:11:23 浏览: 39
C++中的格式化字符串主要指的是使用iostream库中的输入输出运算符(<<和>>)来控制数据输出格式的字符串。格式化输出通常涉及到流操纵符(manipulator)和格式状态标志(如std::ios_base::fmtflags)的使用。以下是一些常用的格式化输出方法:
1. 设置宽度:使用`std::setw`可以设置下一个输出项的最小字符宽度。
```cpp
std::cout << std::setw(10) << "Hello" << std::endl;
```
2. 设置精度:对于浮点数输出,可以使用`std::setprecision`来设置小数点后的位数。
```cpp
std::cout << std::setprecision(3) << 3.14159 << std::endl;
```
3. 设置填充字符:当使用`std::setw`时,可以通过`std::setfill`设置填充字符。
```cpp
std::cout << std::setw(10) << std::setfill('*') << "World" << std::endl;
```
4. 控制浮点数输出格式:可以使用`std::fixed`或`std::scientific`来控制浮点数的显示格式。
```cpp
std::cout << std::fixed << 123.456 << std::endl;
std::cout << std::scientific << 123.456 << std::endl;
```
5. 输出对齐方式:使用`std::left`、`std::right`和`std::internal`来设置输出的对齐方式。
```cpp
std::cout << std::left;
std::cout << std::setw(10) << std::setfill('*') << "left" << std::endl;
std::cout << std::right;
std::cout << std::setw(10) << std::setfill('*') << "right" << std::endl;
std::cout << std::internal;
std::cout << std::setw(10) << std::setfill('*') << "internal" << std::endl;
```
6. 控制正负数的输出:使用`std::showpos`和`std::noshowpos`来显示或隐藏正数的正号。
```cpp
std::cout << std::showpos << +123 << std::endl;
std::cout << std::noshowpos << +123 << std::endl;
```
阅读全文