如何在不停止C程序的情况下按下最后一个键?

Ale*_*der 1 c linux command-line user-input interface

使用命令行界面编写应用程序,我想知道是否按下了F1或ESC或箭头键.这样做最简单的方法是什么?我想避免使用readline类型库.

这是一个特定于Linux的问题; 该程序不是多线程的.

Tho*_*thy 5

在C标准中没有办法做到这一点,但是各种操作系统上的C实现通常都有一些扩展来执行此操作.

在Windows上,您可以使用getch().在Linux和Unix上,看看这个问题:

非阻塞getch(),ncurses

此外,这是C FAQ列表中"系统依赖关系"部分中的第一个问题:

19.1