C++ cout cin 使用方法

输入 

  • 可以利用一个字符变量吃掉输入的短横线(减号)
//输入2018-12-15
int year = 0, mon = 0, day = 0;
char sperator = '\0';
cin >> year >> sperator >> mon >> sperator >> day;
  • 通过设置输入变量的类型来接受不同类型变量
char type = '\0';
float money = 0;
cin >> type>>money;
  •  支持输入多行,且每输入一行即刻得到结果
while (cin.getline(c, 120)) {...}//将while函数紧接着写在main函数下面
                                 //将输入的处理都写在while函数里面

int a;
while (cin >> a) {...}//处理多行单个数字
                      //如果想要函数停止,只需要设置关键字,如检测到输入为0
                      //if (a == 0)
                      //   return 0;
  • cin相关函数介绍
  1. cin

    /* 输入数字 */
    using namespace std;//cin cout包含在工作空间std中
    int a,b;
    cin>>a>>b;//第一个输入的数保存在a 第二个输入的数保存在b
              //这里默认空格,tab和回车是间隔符,会过滤掉
    
    cin>>noskipws>>a>>b;//不想略过空白字符,那就使用 noskipws 流控制
                        //这时默认空格,tab和回车等不可见符为0
    
    
    /* 输入字符串 */
    char a[20]; 
    cin>>a; 
    cout<<a<<endl; //接受一个字符串,遇“空格”、“TAB”、“回车”都结束
  2. cin.get()

    /*cin.get(字符变量名)可以用来接收字符*/
    char ch; 
    ch=cin.get();    //或者cin.get(ch); 
    cout<<ch<<endl; 
    
    
    /*cin.get(字符数组名,接收字符数目)用来接收一行字符串,可以接收空格*/
    char a[20]; 
    cin.get(a,20); //字符数目包括结束符‘/0’,即19个字符+‘/0’
    cout<<a<<endl; 
    
    
    /*cin.get()用于舍弃输入流中的不需要的字符/
    cin.get()//没有参数主要是用于舍弃输入流中的不需要的字符
             //或者cin.get(a,20); 之后不使用a
  3. cin.getline()

    cin.getline(接受字符串m,接受个数5,结束字符) 
    
    char m[20]; 
    cin.getline(m,5); //m只接收4个字符+‘/0’
                      //当第三个参数省略时,系统默认为'\0' 
                      //可以接收空格等不可见字符作为一个字符
    
    cin.getline(m,5,'a');//接收到‘a’或者接收满4个字符,取先满足的条件
                         //以‘a’为结束符,字符串中并不包含a,只包含a前面的字符
    
    char m[3][20]; 
    for(int i=0;i<3;i++) 
        cin.getline(m[i],20); //支持二维数组的输入,这里的m[i]代表第i行
  4. getline()

    #include<string> //getline()需要添加头文件
    
                     //getline()和cin.getline()类似
                     //但是cin.getline()属于istream流,而getline()属于string流
    string str; 
    getline(cin,str);//接受一个字符串,可以接收空格并输出
                     //默认回车作为字符串结束符

输出 

  •  设置输出格式
#include <iomanip>
//输出number为保留两位小数点的浮点数
cout << fixed << setprecision(2) << number << endl;
  • 输出时请活用setfill和setw 控制符。
include <iomanip.h>

//stew只对后面的字符有效,即加上‘a’一共输出8个字符,不足的字符用空格补上。
//所以‘s’与‘a’之间有7个空格
cout<<'s'<<setw(8)<<'a'<<endl;

//setw()默认填充的内容为空格,可以setfill()配合使用设置其他字符填充。

cout<<setfill('*')<<setw(5)<<'a'<<endl;
//‘a’前面有四个*

猜你喜欢

转载自blog.csdn.net/lixiaoguai2017/article/details/85016918