我正在试着做一个简单的程序来检测向上键。这是我的c代码:
#include <stdio.h>
#include <ncurses.h>
int main() {
initscr();
noecho();
printw("hello\n");
refresh();
int ch = getch();
if (ch == KEY_UP) {
printw("up!\n");
refresh();
}
getch();
endwin();
return 0;
}
当我编译和运行程序时,它不起作用。当我按下键,它就退出了。
提前谢谢。
最佳答案
您应该调用keypad
来告诉curses解释特殊键:
keypad(stdscr, TRUE);
在
initscr()
之后。没有这个,你的程序将读取(分别)escape和A。进一步阅读:
Initialization(课程手册)
keypad(3)