C/C++笔试必须熟悉掌握的头文件系列(十)——iomanip.h/iomanip

  iomanip.h是I/O流控制头文件,就像C里面的格式化输出一样,主要是对cin和cout操纵的算子。需要注意C++中替代iomanip.h并不是cipmanip,而是直接ipmanip,与cmath,cstdio不同。
  头文件其实很好记忆,io代表输入输出,manip是manipulator(操纵器,操纵算子)的缩写。
1 笔试必掌握 
1.1 设置域宽setw(N)
  当我们需要保证输出宽度为N,预设宽度,如下:

cout<<setw(5)<<255<<endl; //运行结果:空格空格255,一共5个字宽

1.2 流输出八进制,十六进制
  dec 置基数为10 相当于”%d”
  hex 置基数为16 相当于”%X”
  oct 置基数为8 相当于”%o”
  例如输出一个数的16进制,如下:

cout<<hex<<255<<endl;  //运行结果为:ff

  补充说明一下,如果需要流输出二进制,则包含bitset.h头文件,调用哪个bitset()函数完成十进制输出为二进制,如下:

#include<bitset.h>
cout<<bitset<8>(255)<<endl;  //运行结果为:11111111,8表示决定保留的位数。

1.3 填充字符setfill(char c)
  setfill就是在预设宽度中,如果已存在没有用完的宽度大小,则用字符c填充。如下:

cout<<setfill('0')<<setw(5)<<255<<endl;  //运行结果为:00255。

1.4 进制转换setbase(int n)
  将某一个十进制数转换为一个n进制的数,实际上只能是8和16进制,如果是2~36任意进制还是使用stdlib.h头文件中itoa函数吧,使用如下:

cout<<setbase(8)<<setw(5)<<255<<endl;  //运行结果为: 377

1.5 控制输出流的精度setprecision(int n)
  使用setprecision(int n)可控制输出流显示浮点数的数字个数(包括整数部分)。C++默认的流输出数值有效位是6。使用如下:

cout<<setprecision(3)<<22.123<<endl; //结果为:22.1
cout<<setprecision(8)<<22.123<<endl; //结果为:22.123,比原字符长不会补零!

  个人学习记录,由于能力和时间有限,如果有错误望读者纠正,谢谢!
  转载请注明出处:http://blog.csdn.net/FX677588/article/details/72820246

你可能感兴趣的:(C语言,头文件,iomanip,iomanip-h)