cin >> temp;
if(!cin) //bad input
{
cin.clear();//重置缓冲区,否则将不能将缓冲区中的错误内容读取出来
while(cin.get()!=‘\n‘)//直到遇到换行符,读取错误内容结束
continue;
cout << "Bad input;input process terminated.\n";
}
C++控制台程序中关于错误输入的处理,布布扣,bubuko.com
原文:http://zaneluo.blog.51cto.com/7823750/1380896