Can';Don’别把钥匙放在桌子上
我正在尝试制作一个简单的程序来检测向上键。这是我的c代码:Can';Don’别把钥匙放在桌子上,c,ncurses,curses,C,Ncurses,Curses,我正在尝试制作一个简单的程序来检测向上键。这是我的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"); refre
#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;
}
#包括
#包括
int main(){
initscr();
noecho();
printw(“hello\n”);
刷新();
int ch=getch();
如果(ch==键向上){
printw(“向上!\n”);
刷新();
}
getch();
endwin();
返回0;
}
当我编译并运行程序时,它不工作。当我按向上键时,它就退出了
提前感谢。您应该拨打
键盘
告诉诅咒者解释特殊按键:
keypad(stdscr, TRUE);
在initscr()之后
。否则,您的程序将(分别)读取escape[和A]
进一步阅读:
- (课程手册)
键盘
,告诉诅咒者解释特殊键:
keypad(stdscr, TRUE);
在initscr()之后
。如果没有它,您的程序将(单独)读取escape[和A
进一步阅读:
- (课程手册)
getch
进行两次调用,并在第二次调用后退出。此外,你可能想调用cbreak
。它可以工作!当我按up键时,它会打印“up!”,但当我按另一个键时(包括向上键)它存在。有什么想法吗?您的程序只对getch
执行两次调用,并将在第二次调用后退出。此外,您可能需要调用cbreak
。