Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/145.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如果一个cin语句失败,如何防止多个cin语句失败_C++_C++11 - Fatal编程技术网

C++ 如果一个cin语句失败,如何防止多个cin语句失败

C++ 如果一个cin语句失败,如何防止多个cin语句失败,c++,c++11,C++,C++11,如果我们有多个cin语句,其中一个输入错误,那么接下来的每个cin都会失败。如何预防 #include <iostream> using namespace std; int main() { int a, b, c, d, e; cin>>a; cin>>b; cin>>c; cin>>d; cin>>e; return 0; } #包括 使用名称空间std; i

如果我们有多个cin语句,其中一个输入错误,那么接下来的每个cin都会失败。如何预防

#include <iostream>
using namespace std;

int main() {
    int a, b, c, d, e;
    cin>>a;
    cin>>b;
    cin>>c;
    cin>>d;
    cin>>e;
    return 0;
}
#包括
使用名称空间std;
int main(){
INTA、b、c、d、e;
cin>>a;
cin>>b;
cin>>c;
cin>>d;
cin>>e;
返回0;
}

若我为first或任何其他期望int的变量输入字符串,则后面的每个cin都会终止。如何防止此失败?

如果要在失败时执行某些操作,请将上述表达式包装在If语句中

if(!(标准::cin>>a>>b>>c>>d>>e)){
// ...
}
它终止,因为流处于失败状态。您必须使用
clear()
清除标志,然后继续解析输入

如果您想知道哪个输入特别失败:

intarr[]={a,b,c,d};
对于(int i=0;i>arr[i])){
//…如果要继续,请清理并清除()
}
}