C++格式化输入输出控制----iomanip

很多时候,我们需要对程序的输出格式进行控制使显示美观或满足特定的格式要求。在C++程序中,我们可以通过 iomanip 头文件来进行实现。io 即 I/O,输入输出,manip 即manipulator,控制器。

使用时需包含该头文件#include

常用函数介绍

针对输出中较为常用的几个函数进行详细的介绍:

  1. setw(n)函数

    该函数用于设置输出的域宽,即 输出的字符长度,setw(n)——预设输出长度为n。当实际输出长度 >n 时,控制失效,以实际输出为准。输出长度right left对对其方式进行限制。

    注意:setw()函数后紧跟要输出的内容,且只对紧跟的内容起作用

cout<<setw(5)<<666<<endl
 输出:[空格][空格]666
// 输出宽度10个字符,左对齐,不足补空格,输出3    
cout << setw(10) << setfill(' ') << left << 3 << endl;
  1. setfill(char c)函数

    该函数用于对长度小于【setw()函数设置长度】的输出的不足部分进行填充,填充字符为 c;若不用该函数限制,默认用【空格】填充。

cout<<setfill('#')<<setw(5)<<666<<endl;
输出:##666
  1. setbase(int n)函数

    该函数用于数字的进制转换,将数字转为n进制

cout<<setbase(8)<<setw(5)<<255<<endl;
cout<<setbase(10)<<setw(5)<<255<<endl;
cout<<setbase(16)<<setw(5)<<255<<endl
输出:
[空格][空格]377
[空格][空格]255
[空格][空格][空格]ff
  1. setprecision(n)函数

    使用setprecision(n)可控制输出流显示浮点数的数字个数。C++默认的流输出数值有效位是6。
    如果setprecision(n)与setiosflags(ios::fixed)合用,可以控制小数点右边的数字个数。setiosflags(ios::fixed)是用定点方式表示实数。
    如果与setiosnags(ios::scientific)合用, 可以控制指数表示法的小数位数。setiosflags(ios::scientific)是用指数方式表示实数。

你可能感兴趣的:(c/c++)