【C++】C++标准库之iomanip库(格式输入输出)

目录

一、功能介绍

二、相关函数介绍

三、实例演示


一、功能介绍

用来对输入输出操作的格式进行更加方便的控制,在ios_base基类的基础上将每一种格式的设置和删除都进行了函数级的同名封装,提供了全局的调用接口函数,支持在运算符“<<”和“>>”上的多次使用,配合ios_base实例的控制。是I/O流控制头文件,就像C里面的格式化输出一样。
如果在一次输出过程中需要混杂多种格式,使用ios_base的成员函数来处理就显得很不方便。STL另提供了iomanip库可以满足这种使用方式。


二、相关函数介绍

      控   制   符                            作           用                                     
 dec  设置整数为十进制
 hex 设置整数为十六进制
 oct 设置整数为八进制
 setbase(n) 设置整数为n进制(n=8,10,16)
 setfill(c)

 设置字符填充,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() 

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


三、实例演示

 

#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;

int main() {
	int n=21;
	cout << n << endl;
	cout << "21八进制:"<<setbase(8) << n <<" "<< oct << n <<  endl;//八进制输出
	cout << "21十六进制:" << setbase(16) << n << hex << n <<  endl;//十六进制输出


	cout << "固定字段宽为5位:";
	cout << setw(5) << n << endl;//默认为右对齐
	cout << "自动填充字符0:";
	cout << setfill('0') << setw(5) << n << endl;//字符填充
	cout << "左对齐:";
	cout << setiosflags(ios::left) << n << endl;//左对齐
	cout << "右对齐:";
	cout << setiosflags(ios::right) << n << endl;//右对齐

	double d = 3.14159;
	cout << "d=" << d << endl;
	cout << "浮点数六位有效小数:" ;
	cout << setprecision(6) << d <<endl;//四舍五入
	cout << "保留六位小数:";
	cout << fixed<<setprecision(6) << d << endl; // setiosflags(ios::fixed) 设置浮点数以固定的小数位数显示
	
}

运行结果:

  • 12
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: iomanipC++ 标准库中的一个头文件,它提供了一组函数和控制符,用于格式输入输出流的操作。其中包括控制输出格式、控制输出精度、控制字段宽度等等。常用的函数有 setw、setprecision、setfill 等等。 ### 回答2: iomanipC++标准库中的一个头文件,全称为input/output manipulators(输入/输出流操纵器)的简称。它提供了一套用于格式输入输出的函数,可以用于控制输出的格式,如控制字段的宽度、小数的精度、填充字符等。 通过使用iomanip头文件中的函数,可以方便地对输入输出进行格式化。其中一些常用的函数包括: 1. setiosflags:设置输出格式标志。 2. resetiosflags:重置输出格式标志。 3. setw:设置字段的宽度。 4. setprecision:设置浮点数的精度。 5. setfill:设置填充字符。 6. setw:设置字段的宽度。 7. setbase:设置进制。 8. setiosflags:设置输出格式标志。 9. resetiosflags:重置输出格式标志。 使用iomanip可以使输出结果更加美观和可读,提高程序的可视化效果。例如,可以通过setw设置输出字段的宽度,使得不同数据在输出时具有相同的长度;通过setprecision设置浮点数的输出精度,控制数值的小数位数;通过setfill设置填充字符,使得输出更加规范等。 总之,iomanipC++标准库中用于格式输入输出的一个功能强大的头文件,它提供了一系列函数来方便地控制输出格式。在实际编程中,可以根据需求使用不同的函数来定制输出格式,以获得更好的可视化效果。 ### 回答3: iomanipC++ 标准库中的一个头文件,它提供了一些用于格式输入输出的函数和操作符。 使用 iomanip 头文件,我们可以实现对输出数据的格式化,比如控制输出的宽度、小数位数、对齐方式等。 在使用 iomanip 进行格式化输出时,通常会配合使用一些操作符,比如 setw()、setprecision()、setfill() 等。这些操作符可以用来设置输出的宽度、小数位数、填充字符等。 例如,使用 setw(10) 可以设置输出的宽度为 10 个字符,如果输出的数据不够宽度,会使用填充字符进行补齐。使用 setprecision(2) 可以设置输出的小数位数为 2,如果输出的数据不够小数位数,会进行四舍五入。 除了设置输出格式iomanip 还提供了一些操作符用于控制输出的对齐方式。setiosflags(ios::left) 可以设置输出为左对齐,setiosflags(ios::right) 可以设置输出为右对齐。 总的来说,iomanip 可以方便地实现对输出数据的格式化,让输出更加美观和易读。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值