C++输入

  1、cin结束符
  程序的输入都建有一个缓冲区,即输入缓冲区。当一次键盘输入结束时会将输入的数据存入输入缓冲区,然后再通过cin函数直接从输入缓冲区中取数据。
  cin遇到Space、Tab、Enter都会结束一次数据获取。
  eg:当输入为124 ew 34sf时,调用一次cin只会取出124,就遇到空格返回了。
  当遇到Tab和Enter处理相同。

  2、一些常见的输入情况
  1)单行输入:但是不知道输入的长度,且中间有空格等分隔符 

    string str;
    getline(cin,str);
    cout<<str<<endl;

测试结果为
C++输入_第1张图片

  2)当输入的是一个一个的数字时

    vector<int> nums;
    int num;
    char ch;
    while(1){
        cin>>num;         //依次将数据提取出来
        nums.push_back(num);
        ch=getchar();
        if(ch=='\n'||ch==EOF)   //输入结束时,退出循环
            break;
    }

示例如下:
C++输入_第2张图片

  3)单行输入,遇到特定字符时退出

    vector<int> nums;
    str num;
    char ch;
    while(1){
        cin>>num;         //依次将数据提取出来
        ch=getchar();
        if(num==target||ch==EOF)   //输入结束时,退出循环
            break;
        nums.push_back(num);
    }

  4)多行输入,每一行的输入为固定数目的数字,如每行3个数字,最后一行为0 0 0

    int num1=0,num2=0,num3=0;
    char ch;
    while(1){
        cin>>num1>>num2>>num3;
        ch=getchar();
        if(num1==0&&num2==0&&num3==0||ch==EOF)    //全0时退出循环
            break;
        proc_nums();
    }

你可能感兴趣的:(C++输入)