gpt4 book ai didi

c++ - 实时键盘输入到控制台(在 Windows 中)?

转载 作者:可可西里 更新时间:2023-11-01 13:53:54 26 4
gpt4 key购买 nike

我有一个双向链表类,我想在用户键入字符时将字符添加到列表中,或者在每次用户按退格键时删除列表中的最后一个节点,同时在控制台中实时显示结果-时间。

我将使用什么函数来拦截单个键盘输入,并将其实时显示到控制台?所以结果如下:

用户开始输入:

Typ_

用户停止输入:

Typing this on screen_

用户按退格键 5 次:

Typing this on s_

特定操作系统是 Windows(更具体地说是 Vista)。

作为旁注,windows.h 下的 GetAsyncKeyState 似乎可能用于键盘输入,但控制台的实时显示问题仍然存在。

最佳答案

C++ 没有“键盘”的概念。它只有一个名为“stdin”的不透明文件,您可以从中读取。但是,该"file"的内容由您的环境填充,特别是您的终端。

大多数终端在将输入行发送到附加进程之前对其进行缓冲,因此您永远看不到退格键的存在。您真正需要的是直接控制终端。

这是一个非常依赖于平台的过程,如果您喜欢特定的建议,则必须指定您的平台。在 Linux 上,尝试 ncursestermios

关于c++ - 实时键盘输入到控制台(在 Windows 中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7519039/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com