相关疑难解决方法(0)

键入字符串时带有cin的无限循环,而数字是预期的

在下面的循环中,如果我们输入字符作为cin输入而不是预期的数字,那么它将进入无限循环.有人可以向我解释为什么会这样吗?

当我们使用时cin,如果输入不是数字,那么有没有办法检测到这一点以避免上述问题?

unsigned long ul_x1, ul_x2;

while (1)
{
  cin >> ul_x1 >> ul_x2;
  cout << "ux_x1 is " << ul_x1 << endl << "ul_x2 is " << ul_x2 << endl;
}
Run Code Online (Sandbox Code Playgroud)

c++ validation cin infinite-loop

21
推荐指数
2
解决办法
2万
查看次数

当输入字符代替 int 时避免无限循环

我正在做一个银行系统项目,需要确保每个输入都是有效的(程序必须健壮)。如果输入无效,则用户必须再次输入。
但是当我有一个int类型的变量并且用户输入char类型时,一个无限循环就开始了。
例如:

int i;
cin>>i;
Run Code Online (Sandbox Code Playgroud)

如果用户进入char无限循环开始。我怎样才能避免它并再次要求用户输入?
谢谢

c++ cin infinite-loop

5
推荐指数
1
解决办法
2950
查看次数

标签 统计

c++ ×2

cin ×2

infinite-loop ×2

validation ×1