在Linux系统中,使用ncurses在程序编译时还要加上 -lcurses
即:gcc cursedemo.c -lcurses
#include<curses.h>
int main()
{
initscr(); //ncurse界面的初始化函数
printw("This is a curses window.\n");//再ncurse模式下的printf
getch();//等待用户输入,如果没有这句话,程序就退出了,
//看不到运行的结果,也就是看不到上面那句话
endwin();//程序退出,调用该函数来恢复shell终端的显示,
//如果没有这句话,shell终端字乱码,坏掉
return 0;
}
使用curse,他可以及时响应,不用像 scanf 和 getchar 这两个需要回车键响应
这对于我们贪吃蛇上下左右键的响应十分有作用
恒定义 : vi / usr / include / curses.h
可以看到下方的库
函数keypad设置了可以在stdscr中接受键盘的功能键(除字母外的按键)
keypad(stdscr,1)
#include<curses.h>
int main()
{
int key;//char 1 byte 8 bit;int 4 byte 32 bit
initscr();
keypad(stdscr,1); //参数代表是否接收,1代表是
while(1){ //无限循环
key=getch(); //接收key
switch(key){
case KEY_DOWN:
printw("DOWN\n");
break;
case KEY_UP:
printw("UP\n");
break;
case KEY_LEFT:
printw("LEFT\n");
break;
case KEY_RIGHT:
printw("RIGHT\n");
}
}
endwin();
return 0;
}