news 2026/5/13 1:56:06

C++ iomanip 常用函数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C++ iomanip 常用函数

<iomanip>是 C++ 中用于格式化输入输出的重要头文件,以下是常用函数和操纵符:

1.setw(int n)- 设置字段宽度

cout << setw(10) << "Hello" << endl; // 输出: " Hello" cout << setw(5) << 123 << endl; // 输出: " 123"

2.setprecision(int n)- 设置浮点数精度

double pi = 3.1415926; cout << setprecision(3) << pi << endl; // 输出: 3.14 cout << fixed << setprecision(2) << pi << endl; // 输出: 3.14 (固定小数位) cout << scientific << setprecision(4) << pi << endl; // 输出: 3.1416e+00

3.setfill(char c)- 设置填充字符

cout << setfill('*') << setw(10) << 123 << endl; // 输出: "*******123" cout << setfill('0') << setw(5) << 42 << endl; // 输出: "00042"

4.setbase(int base)- 设置进制

int n = 255; cout << setbase(16) << n << endl; // 输出: ff (十六进制) cout << setbase(8) << n << endl; // 输出: 377 (八进制) cout << setbase(10) << n << endl; // 输出: 255 (十进制)

5.setiosflags() / resetiosflags()- 设置/清除格式标志

cout << setiosflags(ios::left) << setw(10) << "Hello" << endl; // 左对齐 cout << resetiosflags(ios::left) << setw(10) << "Hello" << endl; // 恢复右对齐 // 常用标志组合 cout << setiosflags(ios::fixed | ios::showpoint) << 123.0 << endl; // 输出: 123.00

6.常用格式化标志

// 对齐方式 ios::left // 左对齐 ios::right // 右对齐(默认) ios::internal // 符号左对齐,数值右对齐 // 数值格式 ios::dec // 十进制 ios::hex // 十六进制 ios::oct // 八进制 ios::fixed // 固定小数位 ios::scientific // 科学计数法 ios::boolalpha // true/false 代替 1/0 ios::showpoint // 显示小数点 ios::showpos // 显示正数符号 ios::uppercase // 十六进制大写

7.完整示例

#include <iostream> #include <iomanip> int main() { double value = 123.456; // 格式化输出表格 cout << left << setw(10) << "Number" << right << setw(10) << "Value" << endl; cout << setfill('-') << setw(20) << "" << setfill(' ') << endl; cout << left << setw(10) << "Pi" << fixed << setprecision(2) << setw(10) << 3.14159 << endl; cout << left << setw(10) << "E" << scientific << setprecision(4) << setw(10) << 2.71828 << endl; // 格式化输出 cout << showpos << setw(10) << 100 << endl; // 输出: "+100" cout << noshowpos << endl; // 关闭正号显示 // 布尔值输出 cout << boolalpha << true << " " << false << endl; // 输出: "true false" return 0; }

8.常用组合技巧

// 对齐填充 cout << left << setw(15) << setfill(' ') << "Name" << setw(10) << "Score" << endl; // 货币格式化 double money = 1234.56; cout << showpos << fixed << setprecision(2) << money << endl; // +1234.56 // 十六进制输出大写 int num = 255; cout << hex << uppercase << num << endl; // "FF"
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/13 1:55:07

OpsPilot:基于智能体架构的运维AI助手设计与落地实践

1. 项目概述与核心价值最近在开源社区里&#xff0c;一个名为OpsPilot的项目引起了我的注意。它来自WeOps-Lab&#xff0c;定位是“面向运维领域的智能助手”。乍一看&#xff0c;你可能会觉得这又是一个蹭AI热度的工具&#xff0c;但深入使用和拆解后&#xff0c;我发现它的设…

作者头像 李华
网站建设 2026/5/13 1:49:16

FinFET内存测试技术挑战与创新解决方案

1. FinFET内存测试的技术挑战与创新方案FinFET技术自2012年商用化以来&#xff0c;已经彻底改变了半导体行业的格局。与传统平面晶体管相比&#xff0c;FinFET通过三维鳍式结构实现了更好的栅极控制&#xff0c;将静态功耗降低了50%以上&#xff0c;同时性能提升了37%。但这种革…

作者头像 李华
网站建设 2026/5/13 1:47:06

嵌入式产品如何通过RTOS选型抢占市场先机

1. 项目概述&#xff1a;为什么“上市时机”是嵌入式产品的生死线在嵌入式系统开发这个行当里摸爬滚打了十几年&#xff0c;我见过太多团队把“功能实现”和“性能达标”作为项目的终极目标&#xff0c;却在一个更根本的问题上栽了跟头&#xff1a;上市时机。你可能觉得&#x…

作者头像 李华
网站建设 2026/5/13 1:43:23

MCP协议赋能交互式终端:AI驱动开发工作流革新实践

1. 项目概述&#xff1a;一个交互式终端如何革新开发工作流最近在GitHub上看到一个挺有意思的项目&#xff0c;叫amol21p/mcp-interactive-terminal。光看名字&#xff0c;你可能觉得这不就是个带交互的终端模拟器吗&#xff1f;市面上不是一抓一大把&#xff1f;但当我真正把它…

作者头像 李华