本文只介绍:用函数设置或者恢复格式
大部分流的输入输出格式可以用setf函数来设置。该函数有两种重载形式。其但参数的setf原型为:
fmtflage setf(fmtfalg flag)
参数flag说明所要设置的格式,由ios_base给出,可取如下枚举常量:
enum{
left =0x0001, //在域中靠左输出
right =0x0002, //在域中靠右输出
internal =0x0004, //符号靠左数值靠右输出,中间默认以空格填充
dec =0x0008, //数值以十进制输出
hex =0x0010, //以16进制输出
oct =0x0020, //8进制输出
fixed =0x0040, //浮点数以小数方式输出
scientific =0x0080, //浮点数以科学计数方式输出
boolalpha =0x0100, //布尔值以true/false方式输出
showbase =0x0200, //8进制前面加0做指示符,16进制前面加0x做指示符
showpoint =0x0400, //不管小数点和尾部的0是否可省略不写,都输出小数点和0
showpos =0x0800, //在正数前面输出+号
skipws =0x1000, //不读入空白字符(空格,制表符\t,回车\r,和换行\n)
unitbuf =0x2000, //每次写入数据都刷新到相应设备
uppercase =0x4000, //科学计数法的"e"和16进制计数的"x",大写输出为"E"和"X"
adjustfield =left | right | internal, //一般用作对齐方式的屏蔽码
basefield =dec | hex | oct, //一般用作数值进制输出方式的屏蔽码
floatfield =scientific | fixed //一般用作浮点数输出方式的屏蔽码
};