我碰到這在我讀出來......使用CIN >>錯誤處理
while(!(std::cin >> array[i]))
{
std::cin.clear();
while(std::cin.get()!= '\n')
continue;
std::cout << "enter a new input: ";
}
而且,我真的不明白的錯誤處理是如何工作的。使用std::cin.clear()
,但代碼繼續從下一行中的cin對象獲取字符,然後使用continue語句。如果沒有清除cin,clear會幹什麼?謝謝。
作爲替代方案可以在cin.clear之後使用cin.ignore(val,'\ n'),其中val足夠高以刷新I/P流 – jemmanuel