NO.0 cin返回的状态

来源:互联网 发布:网络快车的新政策 编辑:程序博客网 时间:2024/06/05 02:03

        刚开始学c++,有些地方不太明白,百度谷哥之后找到答案,为了以后查阅方便,就记在博客里。cin是接受输入到流中,但使用时不向c语言中的scanf一样有格式转换符,以为它不会返回输入后的状态。其实cin是会返回输入后的状态的。

    #include<iostream>
#include<stdbool.h>


using namespace std;


int main (void)
{
int nu;
cin >>nu;
bool checknu=cin.good();
if(checknu==true)
cout << "Yes"<<endl;
else
cout << "No"<<endl;
cout <<"Hello C++"<<endl;
return 0;
}

有一个good函数,可以检测cin的状态,如这段代码,如果我输入一个非int值,checknu会返回false,由此就可以检测输入的类型是否正确。