如何刷新 cin 缓冲区?

新手上路,请多包涵

如何清除 C++ 中的 cin 缓冲区?

原文由 Tal 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 933
2 个回答

可能:

 std::cin.ignore(INT_MAX);

这将读入并忽略所有内容,直到 EOF 。 (您还可以提供第二个参数,它是要读取的字符(例如: '\n' 忽略一行)。

另外:在此之前,您可能也想做一个: std::cin.clear(); 来重置流状态。

原文由 Evan Teran 发布,翻译遵循 CC BY-SA 3.0 许可协议

它对我有用。我已经使用 getline() 的 for 循环。

 cin.ignore()

原文由 Amrit Malla 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题