C++ cin.ignore()

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

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

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

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

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

我依次输入

123回车123回车123回车

最后输出:23

     123

     123

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

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

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

 

posted @ 2014-09-15 09:12  CTRA王大大  阅读(2014)  评论(0编辑  收藏  举报