标题:cout格式化输出问题
只看楼主
庄严之家fj
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-3-4
结帖率:100%
已结贴  问题点数:5 回复次数:3 
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
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:5 
这么乱叫别人怎么回答?

我来先举个例子教你怎么提问题,比如问:
程序代码:
#include <iostream>
using namespace std;

int main()
{
    cout.setf( ios::oct );
    cout << 30 << endl;

    return 0;
}
为什么输出30,而非其八进制形式的36?
别人就会这么答:
cout.setf( ios::oct ) 应当为 cout.setf( ios_base::oct, ios_base::basefield  )

2013-03-04 09:58
Susake
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:女儿国的隔壁
等 级:贵宾
威 望:23
帖 子:2288
专家分:6481
注 册:2012-12-14
得分:0 
代码一大团.......

仰望星空...........不忘初心!
2013-03-04 10:04
庄严之家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.031706 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved