如何处理 C 中的按键

问题描述 投票:0回答:1

我想用 C/C++ 创建一个具有以下功能的 CLI 程序:当用户按下组合键时,我希望能够执行某种操作,而无需等待按下“enter”键。就像bash中的

ctrl+r
进入反向搜索模式一样。如果可能的话,我想尽可能坚持使用标准库,如果我必须依赖于平台,我想采用 POSIX 方式(我正在使用 Linux 或 macOS)。

c command-line-interface
1个回答
0
投票

bash 终端使用curses 库,您也可以在cli 程序中使用它。

您可以使用 getch() 函数从键盘获取字符。

如果您未设置延迟模式,那么它不会等待换行符,并且应立即返回一个字符。

并且如果您启用无回显,那么它也不会将字符打印到屏幕上。

这个问题的回答还提供了一个简洁的 getch 函数小示例。

© www.soinside.com 2019 - 2024. All rights reserved.