當輸入的數據錯誤時,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;