输入错误数据时如何防止无限循环

时间:2015-09-13 23:09:33

标签: c++ validation

我一直在用c ++编写简单的代码,因为我还处于初学阶段,我注意到当我在循环中输入错误的数据到一个变量时会发生无限循环。例如:

int number = 0;

do{

  cout<<"Enter number: ";
  cin >> number;

}while( number != -1 );

如果我输入类似“32ab”的字符串数据类型,则会发生无限循环。我已经搜索了差不多一个星期了,我很多链接都没有直接回答。我发现使用ignore函数可以在某种程度上通过删除cin对象的任何无效数据类型来帮助,但这并不适用于所有情况,例如我输入“Nine”而不是9。 所以简单地说一下如何在处理之前验证输入的输入是否对其数据类型有效?例如检查int变量是否为数字。

0 个答案:

没有答案