可使用的格式
原始格式的备份与恢复
1 | // 备份 |
存在的格式
flags: 新的格式设置, 可以通过下面的进行组合得到.
Constant | Explanation |
---|---|
dec | 10进制表示整数, std::dec |
oct | 8进制表示整数, std::oct |
hex | 16进制表示整数, std::hex |
basefield | 用于dec,oct,hex or 0. 是个关于进制的掩码, 用于记录当前是哪个进制 |
left | 左对齐, 用填充字符填充右边, std::left |
right | 右对齐, 用填充字符填充右边, std::right |
internal | 内部对齐,用填充字符填充内部指定的点, std::internal |
adjustfield | 用于left,right和internal. 同basefield |
scientific | 使用科学计数法表示小数, 或进制计数法(如果与fixed联合使用), std::scientific |
fixed | 使用普通定点格式表示小数, std::fixed |
floatfield | 用于scientific, fixed, (scientific,fixed)和0. 同basefield |
boolalpha | 将bool类型以true或false输出,而不是0或1, std::boolalpha |
showbase | 为整数添加一个表示其进制的前缀, std::showbase |
showpoint | 在浮点数中强制插入小数点, std::showpoint |
showpos | 在正数前面加入+, 只对十进制有效, std::showpos |
skipws | 忽略前导空格, 主要用于输入流, std::skipws |
unitbuf | 在每次插入后清空输出缓存, std::unitbuf |
uppercase | 对于十六进制和科学计数法里的字符, 以大写输出, std::uppercase |
格式的使用
bool 变量的输出
1 |
|
输出为:
1 | boolalpha true: true |
进制的操作
1 | // 输出指定进制的整数 |
输出为:
1 | 无前导: |
对齐操作
1 | // 对齐 |
输出:
1 | ===============对齐与填充操作======================= |
浮点型的控制输出
- 用浮点表示的输出中,setprecision(n)表示有效位数.
- 用定点表示的输出中,setprecision(n)表示小数位数, 与fixed配合.
- 用指数形式输出时,setprecision(n)表示小数位数, 与scientific配合.
1 | int originPrecision = std::cout.precision(); |
输出为:
1 | =========================================================== |
输出指针地址
1 | int a = 10; |
输出为:
1 | 基本数据类型地址:0x62fe00 |
其他
后续完善