在接下來的循環中,如果我們鍵入字符作爲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;
}
或者更好的是,一個字符串流。 – Maxpm 2011-05-03 03:48:53
如果我在cin失敗後調用cin.clear(),爲什麼下次我調用cin >> x時仍然不會要求輸入? – 2011-05-03 04:02:01
此答案不能解決OP遇到的問題,因爲它是**不完整**。請看看我的回答:) – 2011-05-03 05:31:45