两张方法:
1:
cin.clear(); //清除错误标记 cin.sync(); //清空缓冲区
cin.clear()和cin.sync()一个都不能少,但是顺序可以颠倒
2:
cin.ignore(std::numeric_limits<std::streamsize>::max(), '/n');
其实该函数最常用的方式是这样的,将第一个参数设的非常大,将第二个参数设为'/n',这样就可以缓冲区中回车符中的所有残留数据,因为一般情况下前面输入残留的数据是没有用的,所以在进行新一次输入操作前将缓冲区中所有数据清空是比较合理。