检测按键

Dom*_*mra 4 c

我需要检测一个按键,而无需用户按Enter。最优雅的方式是什么?

即,如果用户Q按了字母,而没有按enter,程序将执行某些操作。

Chr*_*odd 5

在unix / posix中,执行此操作的标准方法是使用tcsetattr将输入置于非规范模式:

#include <termios.h>
#include <unistd.h>
    :
struct termios attr;
tcgetattr(0, &attr);
attr.c_lflag &= ~ICANON;
tcsetattr(0, TCSANOW, &attr);
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参见termios(3)手册页(可能还有比您想知道的更多的信息)。