cout::setf
时间: 2024-12-24 09:42:18 浏览: 4
`std::cout::setf` 是 C++ 标准库中的一个成员函数,它属于 `std::ios_base` 类,用于设置输出流(如 `std::cout`)的一些标志(flags),以便控制输出格式。这些标志通常用来改变输出的行为,比如精度、宽度、填充字符等。
`setf` 函数接收一个或多个 `std::ios_base::fmtflags` 枚举值作为参数,其中包含以下常用的标志:
- `std::ios_base::dec`:十进制模式,默认就是这种格式。
- `std::ios_base::hex`:十六进制模式。
- `std::ios_base::oct`:八进制模式。
- `std::ios_base::fixed`:固定小数点精度。
- `std::ios_base::scientific`:科学记数法表示浮点数。
- `std::ios_base::showbase`:显示基数(0, 10, 16 或者 8)。
- `std::ios_base::uppercase`:数字以大写形式输出。
- `std::ios_base::showpoint`:即使没有小数位也显示小数点(对于 `fixed` 格式)。
- `std::ios_base::right`:右对齐输出(默认是左对齐)。
- `std::ios_base::left`:左对齐输出。
- `std::ios_base::internal`:如果数值太宽,使用内填充使其适应列宽(默认)。
调用示例:
```cpp
#include <iostream>
int main() {
std::cout << "Decimal: " << std::dec; // 设置为十进制
std::cout << "Hexadecimal: " << std::hex;
// 更改其他标志后,记得返回到原来的格式,例如:
std::cout.setf(std::ios::dec); // 重置回十进制
return 0;
}
```
阅读全文