返回项目列表

/note/ICPC笔记

ICPC笔记

当前项目读取 content/notes/ICPC笔记 下的 Markdown 文件。

ICPC笔记

操纵符

操纵符 在 C++ 中, 操纵符 (Manipulators) 是一类特殊的函数或对象,它们被设计用来改变输入流(istream)或输出流(ostream)的状态或格式。 通过将操纵符插入流中,我们可以精确控制数据的显示方式(如进制、精度、对齐等)。 操纵符速查表 1. 字段、对齐与填充 (Fiel...

操纵符

在 C++ 中,操纵符 (Manipulators) 是一类特殊的函数或对象,它们被设计用来改变输入流(istream)或输出流(ostream)的状态或格式。

通过将操纵符插入流中,我们可以精确控制数据的显示方式(如进制、精度、对齐等)。

操纵符速查表

1. 字段、对齐与填充 (Field & Alignment)

操纵符所属头文件功能持久性
std::setw(n)<iomanip>设置下一个输出项的最小宽度为 n非持久
std::setfill(c)<iomanip>设置填充字符为 c (配合 setw 使用)持久
std::left<iostream>左对齐(在右侧填充)持久
std::right<iostream>右对齐(在左侧填充,默认)持久
std::internal<iostream>在符号和数字中间填充持久

2. 整数与进制 (Integer & Radix)

操纵符所属头文件功能持久性
std::dec<iostream>十进制输出(默认)持久
std::hex<iostream>十六进制输出持久
std::oct<iostream>八进制输出持久
std::setbase(n)<iomanip>设置进制 (n=8, 10, 16)持久
std::showbase<iostream>输出前缀 (0x/0/无)持久
std::noshowbase<iostream>关闭显示进制前缀持久

3. 浮点数格式 (Floating Point)

操纵符所属头文件功能持久性
std::setprecision(n)<iomanip>设置有效数字/小数位数持久
std::fixed<iostream>使用定点法(小数点后位数)持久
std::scientific<iostream>使用科学计数法持久
std::defaultfloat<iostream>恢复默认浮点格式持久
std::showpoint<iostream>即使小数部分为0也显示小数点持久

4. 布尔值与标识开关 (Booleans & Flags)

操纵符所属头文件功能持久性
std::boolalpha<iostream>布尔显示为 true/false持久
std::noboolalpha<iostream>布尔显示为 1/0持久
std::showpos<iostream>显示正号(+)持久
std::uppercase<iostream>字母(如十六进制/科学计数法)大写持久
std::noshowpos<iostream>取消显示正号(+)持久

5. 进阶与特殊操纵符 (Advanced)

操纵符所属头文件功能持久性
std::quoted(s)<iomanip>(C++14) 给字符串加引号并转义非持久
std::ws<iostream>跳过前导空白符(输入流专用)一次性
std::endl<iostream>换行并刷新缓冲区一次性
std::flush<iostream>仅刷新缓冲区一次性
std::setiosflags(mask)<iomanip>开启特定位标识 (如 ios::hex)持久
std::resetiosflags(mask)<iomanip>关闭特定位标识持久