不可用cin读取空格,回车换行,tab。若要则用getchar。
格式化输入输出需要iomanip头文件。
默认不加为6位有效数字。
在输入流与输出流中使用控制符
dec hex oct 10 16 8进制,设置之后一直有效。
setprecision(n)有效位数 一般十进制小数形式输出时,n代表有效数字。在以fixed(固定小数位数)形式和 scientific(指数)形式输出时,n为小数位数
setfill填充字符
setw(n)位宽n setw范围仅为之后一个数字。cout<<setw(3)<<a<<b 此处b就不受宽度限制了。宽度包括正负,小数点。
直接写cout《16 8进制下输出24
setiosflags( ios::fixed) 固定的小数位数
setiosftags( ios::scientific) 科学记数法(即指数形式)
setiosflags( ios::left) 左对齐
setiosflags( ios::right) 右对齐
setiosflags( ios::skipws) 忽略前导的空格
setiosflags( ios::uppercase) 十六进制形式字母大写
setiosflags( ios::lowercase) 十六进制形式宇母小写
setiosflags(ios::showpos) 正数带+
用了scientific再用fixed默认输出为十六进制浮点数 0x1.2p2表示(1+2*1/16)*2^2
cout << setiosflags(ios::fixed) << 1.25 << setiosflags(ios::scientific) << 1.25 << setiosflags(ios::fixed) << 1.25<<endl;
输出1.25 1.4 1.4
用流对象的成员函数控制输出格式
| 流成员函数 | 与之作用相同的控制符 | 作用 |
|---|---|---|
| precision(n) | setprecision(n) | 设置实数的精度为n位 |
| width(n) | setw(n) | 设置字段宽度为n位 |
| fill(c) | setfill(c) | 设置填充宇符c |
| setf() | setiosflags() | 设置输出格式状态,括号中应给出格式状态,内容与控制符setiosflags括号中的内容相同,如表13.5所示 |
| unsetf() | resetioflags() | 终止已设置的输出格式状态,在括号中应指定内容 |

C++中,格式化输入输出涉及iomanip库,例如设置位宽、填充字符和数值表示方式。对于十六进制浮点数,可以使用0x p格式,如0x1.2p2表示(1+2*1/16)*2^2。固定小数位数和科学记数法可以通过setiosflags(ios::fixed)和setiosflags(ios::scientific)控制,并且可以结合setprecision()调整精度。
8111

被折叠的 条评论
为什么被折叠?



