cin 清除缓冲区

 

两张方法:

1:

cin.clear(); //清除错误标记
cin.sync(); //清空缓冲区

cin.clear()和cin.sync()一个都不能少,但是顺序可以颠倒

 

2:

cin.ignore(std::numeric_limits<std::streamsize>::max(), '/n'); 

其实该函数最常用的方式是这样的,将第一个参数设的非常大,将第二个参数设为'/n',这样就可以缓冲区中回车符中的所有残留数据,因为一般情况下前面输入残留的数据是没有用的,所以在进行新一次输入操作前将缓冲区中所有数据清空是比较合理。

 

 

你可能感兴趣的:(cin 清除缓冲区)