← 返回首页

SIGNAL · POST

c++头文件之<iomanip>

约 4 分钟阅读 bajiu 青年大学习

C++ <iomanip> 详解与示例

🧾 <iomanip> 是什么?

<iomanip> 是 C++ 标准库中用于 输入/输出格式控制 的头文件,包含大量格式化输出的操纵符(manipulators)。可用于控制数字格式、宽度、对齐方式、填充字符、进制等。


🔧 常见功能与示例

1. 设置小数位数 — setprecision(n)

#include <iostream>
#include <iomanip>
using namespace std;

int main() {
    double x = 3.1415926;
    cout << setprecision(3) << x << endl;   // 输出:3.14
}

固定小数位方式:

cout << fixed << setprecision(3) << x;   // 输出 3.142

2. 控制输出宽度 — setw(n)

cout << setw(10) << 123;

只对下一次输出生效。


3. 设置填充字符 — setfill

cout << setfill('0') << setw(5) << 42;   // 输出:00042

4. 对齐方式 — left / right / internal

cout << setw(10) << left  << 123 << "|
";  
cout << setw(10) << right << 123 << "|
";

5. 科学计数法 / 固定计数法

double x = 12345.6789;
cout << fixed      << x << endl;
cout << scientific << x << endl;

6. 布尔值格式 — boolalpha

cout << boolalpha << true << " " << false << endl;

7. 进制输出 — hex / dec / oct

int x = 255;
cout << hex << x << endl;  
cout << dec << x << endl;  
cout << oct << x << endl;  

🔥 示例:表格对齐

#include <iostream>
#include <iomanip>
using namespace std;

int main() {
    cout << left << setw(10) << "Name"
         << right << setw(8) << "Score" << endl;

    cout << left << setw(10) << "Alice"
         << right << setw(8) << 95 << endl;

    cout << left << setw(10) << "Bob"
         << right << setw(8) << 88 << endl;
}

📌 小结

操纵符 功能
setw(n) 宽度控制
setprecision(n) 精度控制
setfill(ch) 填充字符
left/right/internal 对齐方式
fixed 固定小数输出
scientific 科学计数法
boolalpha 布尔输出
hex/oct/dec 进制设置