您的位置:首页 > 编程语言 > C语言/C++

C/C++的格式化输出(2)--cout

2015-05-10 22:14 246 查看
二、cout格式化输出将 cout 的 flag 保存到变量, 以便修改后的恢复
ostream::fmtflags old = cout.flag() ;        // 无参将返回当前 flag 值
cout.flag(old) ;                            // 恢复到原先保存的值
 
[code]cout.setf设置标志

[/code]
[code]cout.setf(ios::right | ios::hex); 

cout.setf(ios::right, ios::adjustfield); 

[/code] 
 
[code]cout.unsetf取消标志

[/code]



[code]

[/code]
控制输出格式和成员函数
如果要与scanf和printf联合使用,务必在调用cout前加上cout.sync_with_stdio(),设置与stdio同步,否则输出的数据顺序会发生混乱。flush和endl都会将当前缓冲区中的内容立即写入到屏幕上,而unitbuf/nounitbuf可以禁止或启用缓冲区。ios::dec  以10进制表示整数ios::hex  以16进制表示整数ios::oct  以8进制表示整数ios::showbase  为整数添加一个表示其进制的前缀ios::internal  在符号位和数值的中间插入需要数量的填充字符以使串两端对齐ios::left  在串的末尾插入填充字符以使串居左对齐ios::right  在串的前面插入填充字符以使串居右对齐ios::boolalpha  将bool类型的值以true或flase表示,而不是1或0ios::fixed  将符点数按照普通定点格式处理(非科学计数法)ios::scientific  将符点数按照科学计数法处理(带指数域)ios::showpoint 
在浮点数表示的小数中强制插入小数点(默认情况是浮点数表示的整数不显示小数点)ios::showpos  强制在正数前添加+号ios::skipws  忽略前导的空格(主要用于输入流,如cin)ios::unitbuf  在插入(每次输出)操作后清空缓存ios::uppercase  强制大写字母
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: