文章转自:http://hi.baidu.com/rocketxyf/blog/item/2562473114dbad17eac4af5a.html
- inline SMANIP(long) resetiosflags(long _l) { return SMANIP(long)(__resetiosflags, _l); }
- inline SMANIP(int) setfill(int _m) {return SMANIP(int)(__setfill, _m); }
- inline SMANIP(long) setiosflags(long _l) {return SMANIP(long)(__setiosflags, _l); }
- inline SMANIP(int) setprecision(int _p) {return SMANIP(int)(__setprecision, _p); }
- inline SMANIP(int) setw(int _w) { return SMANIP(int)(__setw, _w); }
//他们都是inline 内联函数 (1)setw(int n) 预设输出宽度 如:
输出结果为“ (2)setfill(char c) 预设填充字符 如:
输出显示结果为“### (3)setbase(int n) 预设整数输出进制 如:
输出显示结果为377 (4)setprecision(int n) 用于控制输出流显示浮点数的精度,整数n代表显示的浮点数数字的个数。示例程序如下:
第1行输出数值之前没有设置有效位数,所以用流的有效位数默认设置值6:第2个输出设置了有效位数0,C++最小的有效位数为1,所以作为有效位数设置为1来看待:第3~6行输出按设置的有效位数输出。 第7行输出是与setiosflags(ios::fixed)合用。所以setprecision(8)设置的是小数点后面的位数,而非全部数字个数。第8行输出用setiosflags(ios::scientific)来表示指数表示的输出形式。其有效位数沿用上次的设置值8。在用指数形式输出时,setprecision(n)表示小数位数。 (可是这个指数形式的输出我用VC6没有运行出来)。 setw(int _w)讲解
C++中tellp()函数与tellg()函数 |