控制台窗口是有输入缓冲区的,当你按键后程序没有来得及处理,系统会将按键缓存,等到程序获取按键的时候,系统会把缓冲区里面之前的按键返回。

	// 调用控制台 API,清空之前缓冲区内的所有按键。
FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE));

这段代码只在前面代码的基础上,增加了一行清空键盘缓冲区的函数调用。然后执行程序后可以看到,最后的输出循环无法获取到之前的任何按键。

这个功能在游戏中会很有用。例如,游戏开始之前,会有些等待(例如过场动画)。正式游戏开始时,应该清空按键缓冲区,防止用户在等待期间的按键影响游戏操作

参考自EasyX 官方网站中的文章在 VC 下清空键盘缓冲区的方法

最新文章

  1. 配置jpa
  2. Python环境安装
  3. C++引用的作用和用法
  4. 简述 C、C++程序编译的内存分配情况【转】
  5. BZOJ3636: 教义问答手册
  6. unittest可能面临的问题以及解决方法
  7. JSP Scripting Element
  8. ON UPDATE CURRENT_TIMESTAMP
  9. iOS设备后台播放音乐方法
  10. js 数组API之every、some用法
  11. jsp多模块相同数据提交到后台之数据处理
  12. Appium环境搭建——安卓模拟器(AVD)调试 1-创建模拟器失败点的总结
  13. 04 Javascript的数据类型 数组 函数
  14. Python2.7-内置函数
  15. Hadoop HBase概念学习系列之HBase里的4维坐标系统(第一步定位行键 -> 第二步定位列簇 -> 第三步定位列修饰符 -> 第四步定位时间戳)(十八)
  16. windows2003密码忘记了该如何处理
  17. 用word2016 写CSDN 博客
  18. WPF中用后台C#代码为TabItem设置Background属性
  19. mysql字符串比较
  20. 15个Android通用流行框架大全

热门文章

  1. 鼠标点击的时候出现 "双心心" 的效果
  2. 哈工大 计算机网络 实验四 利用 Wireshark 进行协议分析
  3. 携程applo配置
  4. c++刷leetcode记录
  5. Vue基础知识的巩固与学习
  6. MySQL启动报错Failed to open log (file 'D:\phpStudy\PHPTutorial\MySQL\data\mysql_bin.000045', errno 2)
  7. tensorflow源码解析之framework-function
  8. BBS 项目(四)
  9. 15、mysql主从复制的原理
  10. oracle数据库导入导出语句