C++ cin.ignore()

在说ignore前说一下cin这个I/O输入关键字。

cin要求用”回车“来提交数据!!!!!----------这个十分重要!

#include
using namespace std;
void main(){
    int a;
    cin.ignore(1,'\n');
    cin>>a;
    cout<endl;

    int b;
    cin.ignore(2,'\n');
    cin>>b;
    cout<endl;

    int c;
    cin.ignore(2,'\n');
    cin>>c;
    cout<endl;
}

我依次输入

123回车123回车123回车

最后输出:23

     123

     123

下面来解释下ignore的会输出这样结果的原因:

1、在输入第一个123是因为前面没有输入回车
2、你输第一个123之后一定会输入回车
因为cin这个东西要求用回车提交数据,程序猜继续往下执行,这个时候执行到了ignore函数,它是直接判断你的输入缓冲区的,这时发现了第一次123后面的回车,所以ignore函数无效了

3、所以后面你输入得任何字符,用回车提交后都会被直接输出

 

转载于:https://www.cnblogs.com/holyson/p/3972171.html

你可能感兴趣的:(C++ cin.ignore())