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,之后相关输出为小写 |
结语 | |
随着我的成长以后会多起来的! |