none
为什么不按要求显示结果 RRS feed

  • 问题

  • #include<iostream>
    int main()
    {
     using namespace std;
     int x=30,y=300,z=1024;
     cout<<x<<' '<<y<<' '<<z<<endl;
     cout.setf(ios::oct);
     cout<<x<<' '<<y<<' '<<z<<endl;
     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<<x<<' '<<y<<' '<<z<<endl;
     cout.unsetf(ios::hex);
     cout<<x<<' '<<y<<' '<<z<<endl;
     return 0;

    }


    其结果都是显示 30 300 1024

    为什么没有按要求上显示,谁能告诉我  我用的是VS2008

    2010年3月9日 4:41

答案

  •     int x=30,y=300,z=1024;
        cout<<x<<' '<<y<<' '<<z<<endl;
        cout.unsetf( ios_base::dec );
        cout.setf(ios::oct);


    你没有把前面的flag unset 掉,所以不起效。
    2010年3月9日 4:55
    版主

全部回复