cout的输出格式

必须#include <iomanip>先。
 
相关functions:
long flags( ) const 返回当前的格式标志。
long flays(long newflag) 设置格式标志为newflag,返回旧的格式标志。
long setf(long bits) 设置指定的格式标志位,返回旧的格式标志。
long setf(long bits,long field)将field指定的格式标志位置为bits,返回旧的格式标志  
long unsetf(long bits) 清除bits指定的格式标志位,返回旧的格式标志。
long fill(char c) 设置填充字符,缺省条件下是空格。
char fill( ) 返回当前填充字符。
int precision(int val) 设置精确度为val,控制输出浮点数的有效位,返回旧值。
int precision( ) 返回旧的精确度值。
int width(int val) 设置显示数据的宽度(域宽),返回旧的域宽。
int width( )只返回当前域宽,缺省宽度为0。这时插入操作能按表示数据的最小宽度显示数据
dec 十进制的输入输出
hex 十六进制的输入输出
oct 八进制的输入输出
ws 提取空白字符
flush 刷新流
resetiosflags(long) 请除特定的格式标志位
setiosflags(long) 设置特定的格式标志位
setfill(char) 设置填充字符
setprecision(int) 设置输出浮点数的精确度
setw(int) 设置域宽格式变量

 
核心是setf()和unsetf(),用来改变标志状态字,flags()用来获取该状态字的值.
格式化标志字(formatting flag):用一个长整数表示一个流当前的数据格式控制状态。 long  x_flags 的每一位表示格式控制的一个状态标志.枚举定义在namespace ios中:
enum{
   skipws    =  0x0001,
   left      =  0x0002,
   right     =  0x0004,
   internal  =  0x0008,
   dec       =  0x0010,
   oct       =  0x0020,
   hex       =  0x0040,
   showbase  =  0x0080,
   showpoint =  0x0100,
   uppercase =  0x0200,
   showpos   =  0x0400,
   scientific=  0x0800,
   fixed     =  0x1000,
   unitbuf   =  0x2000,
   stdio     =  0x4000
};

调用时可以用类似   cout.setf(ios::showbase); 来先设置输出格式,然后再输出流。
 
例子:
0x12345用cout格式化输出为00012345: cout << setfill('0') << setw(8) << hex <<0x12345;
设置填充"$"以及左对齐: cout <<setfill('$')<<setiosflags(ios::left);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值