#include<curses.h> //必须包含头文件
int main()
{
ininscr(); //Ncurse界面的初始化函数
printw("this is a test\n"); //在Ncurse模式下的printf
getch(); //等待用户输入,如果没有这个语句,程序就直接退出了
endwin(); //程序退出,调用这个函数来恢复shell终端的显示,否则,shell终端会乱码,坏掉
return 0;
}
其中,getch和C库中的scanf或者getchar函数相似,但也有区别,scanf或者getchar函数从用户获取输入后需要用户再输入一个回车符才会进入到下一语句,而getch函数在用户输入后不用再按回车符就会进入到下一语句。
想要输入功能区键,需要调用keypad(stdscr,1)函数,如果是1则代表确定从stdscr中接收
#include <curses.h>
int main()
{
char c;
initscr();
printw("this is a test!!\n");
c = getch();
printw("your input is %c\n",c);
getch();
endwin();
return 0;
}
#include <curses.h>
int main()
{
int key;
initscr();
printw("this is a test!!\n");
keypad(stdscr,);
while(1){
c = getch();
printw("\t");
printw("your input is %c\n",c);
}
getch();
endwin();
return 0;
}
#include <curses.h>
int main()
{
int key;
initscr();
printw("this is a test!!\n");
keypad(stdscr,1);
while(1){
key = getch();
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");
break;
}
}
getch();
endwin();
return 0;
}
|