使用 ncurses 创建一个函数来检查 Unix 中的按键情况
我一直在寻找与 kbhit()
等效的方法,并且我已经阅读了有关此主题的几个论坛,大多数似乎都建议使用 ncurses。
我应该如何使用 ncurses 检查 C++ 中是否按下了某个键?
ncurses 提供的函数getch()
从窗口读取一个字符。 我想编写一个函数,仅检查是否有按键,然后执行getch()
。
I have been looking for an equivalent to kbhit()
and I have read several forums on this subject, and the majority seem to suggest using ncurses.
How should I go about checking if a key is pressed in C++ using ncurses?
The function getch()
provided by ncurses reads a character from the window.
I would like to write a function that only checks if there is a key press and then I want to do getch()
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用
nodelay()
函数将getch()
转换为非阻塞调用,如果没有按键则返回ERR
可用的。如果按键可用,则会将其从输入队列中拉出,但如果您愿意,也可以使用ungetch()
将其推回到队列中。You can use the
nodelay()
function to turngetch()
into a non-blocking call, which returnsERR
if no key-press is available. If a key-press is available, it is pulled from the input queue, but you can push it back onto the queue if you like withungetch()
.