我有一个双向链接列表类,我想在用户键入字符时将字符添加到列表中,或者每次用户按退格键时删除列表中的最后一个节点,同时在控制台中实时显示结果。
我将使用哪些函数来拦截单个键盘输入并将其实时显示到控制台?所以结果如下:
用户开始输入:
Typ_
用户停止输入:
在屏幕上输入此内容_
用户按退格键 5 次:
在 s_ 上输入此内容
特定的操作系统是windows(更具体地说是vista)。
作为旁注,windows.h 下的 GetAsyncKeyState 似乎可能用于键盘输入,但是控制台实时显示的问题仍然存在。
C++ 没有“键盘”的概念。它只有一个名为“stdin”的不透明文件,您可以从中读取。但是,该“文件”的内容是由您的环境(特别是您的终端)填充的。
大多数终端在将输入行发送到附加进程之前对其进行缓冲,因此您永远看不到退格键的存在。您真正需要的是直接控制终端。
这是一个非常依赖于平台的过程,如果您需要特定的建议,则必须指定您的平台。在 Linux 上,尝试ncurses
or termios
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)