标题:cout格式化输出问题
取消只看楼主
庄严之家fj
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-3-4
结帖率:100%
已结贴  问题点数:5 回复次数:1 
cout格式化输出问题
以下是我的代码,为什么输出没有格式化效果?
#include<iostream>
using namespace std;
int main()
{
    int x=30,y=300,z=1024;
    cout<<x<<' '<<y<<' '<<z<<endl;
    cout.setf(ios::showbase|ios::uppercase);//设置基指示符和数值中字母大小写的输出
    cout<<x<<' '<<y<<' '<<z<<endl;
    cout.unsetf(ios::showbase|ios::uppercase);//取消设置基指示符和数值中大小写的输出
    cout.setf(ios::oct);//设置未八进制输出,此设置不取消一直有效
    cout<<x<<' '<<y<<' '<<z<<endl;//按八进制输出
    cout.setf(ios::showbase|ios::uppercase);//设置基指示符和数值中的字母大小写的输出
    cout<<x<<' '<<y<<' '<<z<<endl;
    cout.unsetf(ios::showbase|ios::uppercase);
    cout.unsetf(ios::oct);
    cout.setf(ios::hex);//设置未十六进制输出,此设置不取消一直有效
    cout<<x<<' '<<y<<' '<<z<<endl;//按十六进制输出
    cout.setf(ios::showbase|ios::uppercase);//设置基指示符和数值中的字母大小写的输出
    cout<<x<<' '<<y<<' '<<z<<endl;
    cout.unsetf(ios::showbase|ios::uppercase);
    cout.unsetf(ios::hex);
    return 0;
}

输出结果:
30 300 1024
30 300 1024
30 300 1024
30 300 1024
30 300 1024
30 300 1024
搜索更多相关主题的帖子: ios include 八进制 
2013-03-04 09:41
庄严之家fj
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-3-4
得分:0 
回复 2楼 rjsp
受教了!
但是cout.setf( ios::oct ) 和 cout.setf( ios_base::oct, ios_base::basefield  )两者有什么差别,为什么前者无法有格式化效果?
2013-03-04 10:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-399637-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.175502 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved