我有一些代碼,基本上看起來像這樣計數標準輸入的字符數的CIN執行後
int a;
cin>>a;
if(!cin.good())
{
std::cin.clear();
std::cin.ignore(2);
// set some default value for 'a' and display some messages
}
如果我給一個整數(如預期),或者如果我嘗試這工作正常把它弄混一點,放棄2個字符。例如。 'ss',但是如果我給出一個3個字符的輸入'sss',最後的''不會被忽略,並且被接受爲我在我的程序中的更多cin的輸入。
在第一個cin發生後,有什麼方法可以計算標準輸入(緩衝區?)中的字符數,因此我可以放心地忽略所有這些字符。
嘗試'cin.gcount()'後的第一提取。 –
'gcount()'僅爲未格式化的輸入函數設置。 –