【C++】基于iomanip标准库的流对象格式化输出详解

2023-12-17 20:39:19

一.iomanip标准库是什么?(What is it)

1.从名字上看:iomanip是 io-manipulator的简称,意思是输入输出操控器

2.从对象上看:io针对的是流对象的输入输出,包括常见的:

? ? ? ? ? ? ? ? ? ? ? ? - 标准输入输出流<iostream>:cin,cout

? ? ? ? ? ? ? ? ? ? ? ? - 文件输入输出流:ofstream,ifstream,fstream

? ? ? ? ? ? ? ? ? ? ? ? - 字符串输入输出流<sstream>:istringstream,ostringstream,iostringstream

3.从功能上看:iomanip是对流对象进行格式化操作,包括但不限于控制左右对齐,控制输入输出精度,控制输出宽度,指数表示等,和C语言print格式化输出有异曲同工之处。

二.iomanip什么情况下使用?(When and Where)

简单一句话来说:常用于输出特定格式的内容或数据。

比如,为了使得控制台输出结果更便于查看对比,或者要按照特定格式输出文本文件等等

三.iomanip中这些功能如何使用?(How to use)

下面是我们常用的格式化输出功能:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 常用iomanip标准库功能函数? ? ??
?setbase(n)?设置整数为n进制(n=8,10,16)
?setfill(n)

?设置字符填充,c可以是字符常或字符变量

?setprecision(n)?设置浮点数的有效数字为n位
?setw(n)?设置字段宽度为n位
?setiosflags(ios::fixed)?设置浮点数以固定的小数位数显示
?setiosflags(ios::scientific)???设置浮点数以科学计数法表示
?setiosflags(ios::left)?输出左对齐
?setiosflags(ios::right)?输出右对齐
?setiosflags(ios::skipws)?忽略前导空格
?setiosflags(ios::uppercase)?在以科学计数法输出E与十六进制输出X以大写输出,否则小写。
?setiosflags(ios::showpos)?输出正数时显示"+"号
?setiosflags(ios::showpoint)?强制显示小数点
?resetiosflags()?

?终止已经设置的输出格式状态,在括号中应指定内容

?dec??设置整数为十进制
?hex?设置整数为十六进制
?oct?设置整数为八进制

接下来对常用的函数给出详细使用方法和使用示例

1.

文章来源:https://blog.csdn.net/qq_35902025/article/details/130038381
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。