C++学习-格式化的输入输出

格式化的输入输出

头文件iomanip,以下有的操纵符也可以不带该头文件,不过既然是格式化输入输出,那就统一以下好了==才不是懒呢!

  • 使用任何带参数的流操纵符的程序,都必须包含头文件iomanip
  • 以下流操纵符除了我特别指出,在使用后均会作用于其后所有输出。

1 设置整型数的基数

流操纵符 描述
oct 以八进制输出整型数
dec 以十进制输出整型数
hex 以十六进制输出整型数
setbase() 括号内参数可以为8、10、16,分别和上面几个对应
showbase 指明在数字面前输出基数,以0开头表示八进制,0x为十六进制
noshowbase 复位showbase,不再输出基数
  • 16进制x默认小写

2 设置浮点数精度
为浮点数设置精度

流操纵符 描述
setprecison() 在括号里填参数设置有效位数,不会输出无意义的0,小数部分长了四舍五入,四舍五入后如果整数部分长了就科学计数
showpoint 和setprecision()搭配使用,保留无意义的0和小数点
noshowpoint 复位showpoint,不再保留无意义的0和小数点
fixed 和setprecision()搭配使用,在后者括号内填入参数表示保留几位小数,并且输出无意义的0和小数点,输出为小数形式。也可以单独使用来以定点小数输出浮点数。
scientific 和setprecision()搭配使用,在后者括号内填入参数表示保留几位小数,并且输出无意义的0和小数点,输出为指数形式。也可以单独使用以指数形式输出浮点数。
3 设置域宽
流操纵符 描述
--- ---
setw() 可以用于输入和输出,且仅作用位于其后的一次输入或输出
输入:当输入是字符串是,如果输入的字符个数大于指定域宽,读入域宽指定的字符个数
输出:输出值宽度小于域宽,不足处默认由空格填充,如果大于,则输出默认长度。数字默认右对齐,字符串默认左对齐。如果输出值和setw()中间相隔其它流操作符,setw()仍可作用于这次输出(个人测试,可能不全面)
setfill() 参数为字符,用于设置setw()的填充字符
left/right 设置左/右对齐
4 其他
流操纵符 描述
--- ---
endl 换行
uppercase 指明当显示十六进制数是使用大写字母,或在使用科学计数法时使用大写字母E
nouppercase 复位uppercase,之后相关输出为小写
结语
随着我的成长以后会多起来的!
posted @ 2020-12-13 00:24  七铭的魔法师  阅读(167)  评论(0编辑  收藏  举报