输入/输出操纵符
操纵符是令代码能以 operator<< 或 operator>> 控制输入/输出流的帮助函数。
不以参数调用的操纵符(例如 std::cout << std::boolalpha; 或 std::cin >> std::hex; )实现为接受到流的引用为其唯一参数的函数。 basic_ostream::operator<< 和 basic_istream::operator>> 的特别重载版本接受指向这些函数的指针。这些函数(或函数模板的实例化)是标准库中仅有的可取址函数。 (C++20 起)
以参数调用的操纵符(例如 std::cout << std::setw(10); )实现为返回未指定类型对象的函数。这些操纵符定义其自身的进行请求操作的 operator<<
或 operator>>
。
定义于头文件 |
boolalpha noboolalpha | 在布尔值的文本和数值表示间切换 (函数) |
showbase noshowbase | 控制是否使用前缀指示数值基数 (函数) |
showpointnoshowpoint | 控制浮点表示是否始终包含小数点 (函数) |
showpos noshowpos | 控制是否将 + 号与非负数一同使用(函数) |
skipws noskipws | 控制是否跳过输入上的前导空白符 (函数) |
uppercase nouppercase | 控制一些输出操作是否使用大写字母 (函数) |
unitbuf nounitbuf | 控制是否每次操作后冲洗输出 (函数) |
internal left right | 设置填充字符的布置 (函数) |
dec hex oct | 更改用于整数 I/O 的基数 (函数) |
fixed scientific hexfloat defaultfloat (C++11)(C++11) | 更改用于浮点 I/O 的格式化 (函数) |
定义于头文件 |
ws | 消耗空白符 (函数模板) |
定义于头文件 |
ends | 输出 '\0' (函数模板) |
flush | 冲洗输出流 (函数模板) |
endl | 输出 '\n' 并冲洗输出流 (函数模板) |
emit_on_flush no_emit_on_flush (C++20) | 控制流的 basic_syncbuf 是否在冲入时发射 (函数模板) |
flush_emit (C++20) | 冲入流,而若它使用 basic_syncbuf 则发射其内容 (函数模板) |
定义于头文件 |
resetiosflags | 清除指定的 ios_base 标志 (函数) |
setiosflags | 设置指定的 ios_base 标志 (函数) |
setbase | 更改用于整数 I/O 的基数 (函数) |
setfill | 更改填充字符 (函数模板) |
setprecision | 更改浮点精度 (函数) |
setw | 更改下个输入/输出域的宽度 (函数) |
get_money (C++11) | 剖析货币值 (函数模板) |
put_money (C++11) | 格式化并输出货币值 (函数模板) |
get_time (C++11) | 剖析指定格式的日期/时间值 (函数模板) |
put_time (C++11) | 按照指定格式格式化并输出日期/时间值 (函数模板) |
quoted (C++14) | 插入和读取带有内嵌空格的被引号括起来的字符串 (函数模板) |