zoukankan      html  css  js  c++  java
  • cout的输出格式初探

    在C++中,cout代表的是标准输出设备,即显示器,相对于C语言中所使用的printf函数,cout显得更为灵活。下面以30、300和1024三个数为例子,简单说明cout输出时所选格式的输出。cout默认以十进制方式输出数值,也可以设置为八进制(oct)、十六进制(hex)输出方式,同时还可以显示输出方式的基指示符(进制标识符,例如八进制的O,十六进制的Ox)。

     1 //设置输出格式
     2 #include <iostream>
     3 #include <iomanip>
     4 using namespace std;
     5 int main()
     6 {    
     7     cout<<"please input a string"<<endl;
     8     char str[20];
     9     cin>>str; //cin默认以空格作为定界符,考虑使用getline()函数
    10     cout<<"str = "<<str<<endl;
    11     
    12     cout<<"----------------"<<endl;
    13 
    14     int x = 20, y = 300, z = 1024;
    15     cout<<x<<' '<<y<<' '<<z<<endl;
    16 
    17     cout.unsetf(ios::dec); //取消十进制输出格式
    18     cout.setf(ios::showbase | ios::uppercase); //showbase是基指示符,指示进制,uppercase只对于OX大写有效
    19     cout<<x<<' '<<y<<' '<<z<<endl;
    20     
    21     cout.unsetf(ios::showbase | ios::uppercase); //取消showcase和uppercase
    22     cout.setf(ios::oct); //设置八进制输出格式
    23     cout<<x<<' '<<y<<' '<<z<<endl;
    24 
    25     cout.setf(ios::showbase | ios::uppercase);
    26     cout<<x<<' '<<y<<' '<<z<<endl;
    27     
    28     cout.unsetf(ios::oct);
    29     cout.unsetf(ios::showbase | ios::uppercase ); 
    30     cout.setf(ios::hex); //设置十六进制输出格式
    31     cout<<x<<' '<<y<<' '<<z<<endl;
    32 
    33     //cout.unsetf(ios::showbase | ios::lowercase ); //lowercase在此处不行
    34     //cout<<x<<' '<<y<<' '<<z<<endl;
    35 
    36     cout.setf(ios::showbase | ios::uppercase);
    37     cout<<x<<' '<<y<<' '<<z<<endl;
    38 
    39     cout.unsetf(ios::showbase | ios::uppercase);
    40     cout.unsetf(ios::hex);
    41     cout<<x<<' '<<y<<' '<<z<<endl;
    42 
    43     cout<<"----------------"<<endl;
    44     cout<<x<<' '<<y<<' '<<z<<endl; //按十进制输出
    45     cout<<oct<<x<<' '<<y<<' '<<z<<endl; //按八进制输出
    46 
    47     cout<<setiosflags(ios::showbase); //设置基指示符 //setiosflags设置
    48     cout<<x<<' '<<y<<' '<<z<<endl; //仍按八进制输出
    49     
    50     cout<<resetiosflags(ios::showbase); //取消基指示符 //resetiosflags取消
    51     cout<<hex<<x<<' '<<y<<' '<<z<<endl; //按十六进制输出
    52     
    53     //设置基指示符和数值中的字母大写输出
    54     cout<<setiosflags(ios::showbase | ios::uppercase);
    55     cout<<x<<' '<<y<<' '<<z<<endl; //仍按十六进制输出
    56     
    57     //取消基指示符和数值中的字母大写输出
    58     cout<<resetiosflags(ios::showbase | ios::uppercase);
    59     cout<<x<<' '<<y<<' '<<z<<endl; //仍按十六进制输出
    60     
    61     cout<<dec<<x<<' '<<y<<' '<<z<<endl; //按十进制输出
    62 
    63     return 0;
    64 }

    程序运行结果:

  • 相关阅读:
    Java并发编程:ThreadLocal
    线程的3种实现方式
    线程的生命周期
    并行与并发
    wordcount详解shuffle机制(转)
    linux vi编译卡死原因
    django2.0集成xadmin0.6报错集锦
    drf框架
    Django中 media资源配置
    Django-rest framework框架的安装配置和简介、Restful接口规范、基于原生django书写满足restful规范的接口
  • 原文地址:https://www.cnblogs.com/GarfieldEr007/p/4632186.html
Copyright © 2011-2022 走看看