作为ncurses库的一个简单的应用例子,下面给出利用ncurses库函数获取键盘方向键的代码实例:
#include <stdio.h>
#include <ncurses.h>
#if 0
#define KEY_DOWN 0402 /* down-arrow key */
#define KEY_UP 0403 /* up-arrow key */
#define KEY_LEFT 0404 /* left-arrow key */
#define KEY_RIGHT 0405 /* right-arrow key */
#endif
int main(void)
{
initscr();
int key;
keypad(stdscr, TRUE);
mvprintw(9,10,"Welcome everyone!\n");
refresh();
int x = 10,y = 10,max_x,max_y;
getmaxyx(stdscr,max_y,max_x);
while(1){
key = getch();
//mvprintw(1,20,"%d\n",key);
switch(key){
case KEY_UP:
if(y > 0)
mvprintw(y--,x,"*");
break;
case KEY_DOWN:
if(y < max_y-1)
mvprintw(y++,x,"*");
break;
case KEY_LEFT:
if(x > 0)
mvprintw(y,x--,"*");
break;
case KEY_RIGHT:
if(x < max_x-2)
mvprintw(y,x++,"*");
break;
default:
goto end;
}
refresh();
}
end:
endwin();
return 0;
}
以上只是简单的获取方向键键值的例子,如有不妥之处,还请高手指点。