C++程序中,想写一个while循环来输入int数组,通过输入q来结束循环,结束时怎么清除输入流中的q?
想法是通过输入一个字符q来结束while循环,然后在主函数调用这个函数结束时,清除输入流中错误的输入q,这样在主函数中调用的下一个函数就可以再输入另外需要输入的字符、...
想法是通过输入一个字符q来结束while循环,然后在主函数调用这个函数结束时,清除输入流中错误的输入q,这样在主函数中调用的下一个函数就可以再输入另外需要输入的字符、
展开
1个回答
展开全部
举个例子:
#include <iostream>
using namespace std;
int main()
{
int n;
while (1)
{
cin>>n; //输入字符会引发cin异常
if (cin.fail())
{
cout<<"ERROR,Plase input again:";
cin.clear(); //先清除异常状态
cin.ignore(999, '\n'); //再清理缓冲区,清理999个字符或者碰到'\n',给个足够大的数字就好
continue;
}
break;
}
cout<<"OK!!"<<endl;
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询