cout用来实现格式输出,类似于C语言中通过printf()。
cout.setf()的作用是通过设置格式标志来控制输出形式,如,其中ios_base::fixed
表示:用正常的记数方法显示浮点数(与科学计数法相对应);ios_base::floatfield
表示小数点后保留6位小数。
setf()函数有两个原型:
fmtflags setf(fmtflage) //第一原型 fmtflags setf(fmtflags, fmtflags) //第二原型
原型一举例:
cout.setf(ios_base::showpos); cout << 66 << endl; //输出: +66
常见的标志:
boolalpha 可以使用单词”true”和”false”进行输入/输出的布尔值. oct 用八进制格式显示数值. dec 用十进制格式显示数值. hex 用十六进制格式显示数值. left 输出调整为左对齐. right 输出调整为右对齐. scientific 用科学记数法显示浮点数. fixed 用正常的记数方法显示浮点数(与科学计数法相对应). showbase 输出时显示所有数值的基数. showpoint 显示小数点和额外的零,即使不需要. showpos 在非负数值前面显示”+(正号)”. skipws 当从一个流进行读取时,跳过空白字符(spaces, tabs, newlines). unitbuf 在每次插入以后,清空缓冲区. internal 将填充字符回到符号和数值之间. uppercase 以大写的形式显示科学记数法中的”e”和十六进制格式的”x”.
原型二:
第二原型包含两个参数,第一个参数和第一原型里的参数一样,第二个参数指出要清除第一参数中的哪些位。