如何在C++中清除不必要的输入流

sky*_*oor 4 c++

我想让用户输入一个中心数字,例如10,但是,用户输入的数字可能超过10.

for(int i = 0 ; i< 10 ; i++)
cin>>x;
Run Code Online (Sandbox Code Playgroud)

额外的字符可能会导致代码崩溃,因为我稍后会要求输入.

当用户输入10以上时,如何清除输入?

非常感谢!

Xor*_*lev 5

  std::cin.clear();
  std::cin.ignore(std::numeric_limits<streamsize>::max(),'\n');
Run Code Online (Sandbox Code Playgroud)

这应该重置failbit并忽略错误的输入.