当输入的数据错误时,C++会终止之后的所有输出,但可以通过cin.clear()来继续进行输入。
例如,当你在输入一个整型变量时输入了一个字符,那么C++就会终止之后的所有输出,包括当前输入。
而使用cin.clear()后可以继续进行输入。
在继续进行输入时,是从终止输入的那一位重新开始输入。
int a;
char b;
cin>>a;
if(cin.fail()){
cin.clear();
cin>>b;
cout<<a<<" "<<b;
}
else{
cout<<a<<" "<<b;
}
但你在输入错误数据后想跳过这一位继续输入,可以使用cin.get().
int a;
cin>>a;
if(cin.fail()){
//cin.get();
cin.clear();
cin.get();
cin>>a;
}
cout<<a;