学科分类
目录
C++基础

操作符的格式控制

操作符是一种功能和ios成员函数相同,但使用更为便捷的函数,在C++中又被称为操纵子,它们都包含在iomanip头文件中,要使用它们都需要包含此头文件,例如上一节讲解setw()和setfill()都是操纵子。

由于操纵子都返回引用类型,因此操作符可以连用。用户在程序中使用操作符既可以简化程序编写,又可以使程序结构变得清晰。C++语言提供了两种操作符:无参操作符与有参操作符,接下来我们分别来学习这两种操作符。

1、无参操作符

无参操作符实现了常用的输入输出格式控制,C++提供的常用的无参操作符及其功能如表1所示。

表1 无参操作符

操作符 功能
oct 以八进制格式输出数据
dec 以十进制格式输出数据
hex 以十六进制格式输出数据
endl 插入换行符并刷新输出缓冲流
ends 插入空字符
flush 刷新流
ws 从输入流中提取空字符

2、有参操作符

有参数操作符实现了复杂的输入输出格式控制,C++提供的常用的有参操作符及其功能如表2所示。

表2 有参操作符

操作符 功能
resetiosflag(long n) 清除n指定的格式化标志
setbase(int n) 设置以n表示的整形基数(0-10为十进制)
setfill(char c) 设置以c表示的填充字符
setiosflags(long n) 设置n指定的格式化标志
setprecision(int n) 设置以n表示的数值精度
setw(int n) 设置以n表示的域宽

有参操作符与无参操作符可以组合使用,达到由ios类提供的成员函数的功能,例如下面的代码所示:

cout << setw(10) << 2.5 << endl; //设置域宽为10
cout << setbase(16) << 100 << endl; //以16进制输出100
cout << setiosflags(ios::showpos) << 1.2 << endl; //带“+”符号输出1.2
cout << flush; //刷新流

ios的成员函数完成的格式化,操作符都可以完成,而且操作符可以直接插入流中,使用更方便。读者在格式化输入输出时,可以选择使用操作符。

点击此处
隐藏目录