基本的にこのようなコードがあります
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' を指定すると、最後の 's' は無視されず、プログラム内にあるその他の cin の入力として受け入れられます。
最初のcinが発生した後、標準入力(バッファ?)の文字数をカウントする方法はありますか?そのため、それらすべてを安全に無視できます。