在Ubuntu系统中,ncurses库可以用于处理键盘输入。以下是一个简单的例子,演示如何使用ncurses库来捕获和处理键盘输入:
#include <ncurses.h>
int main() {
// 初始化ncurses
initscr();
cbreak();
noecho();
keypad(stdscr, TRUE);
// 打印提示信息
printw("Press 'q' to quit\n");
refresh();
// 循环处理键盘输入
int ch;
while((ch = getch()) != 'q') {
// 处理键盘输入
printw("Key pressed: %c\n", ch);
refresh();
}
// 结束ncurses
endwin();
return 0;
}
在上面的例子中,我们首先初始化ncurses库,然后设置一些选项,如cbreak()用于禁用行缓冲,noecho()用于禁止输出输入字符,keypad(stdscr, TRUE)用于启用键盘功能键的捕获。然后我们进入一个循环,不断检查键盘输入,直到用户按下 ‘q’ 键退出程序。
要编译这个程序,可以使用以下命令:
gcc -o input_handling input_handling.c -lncurses
然后运行编译后的可执行文件,就可以看到程序会不断打印用户按下的键盘输入,直到用户按下 ‘q’ 键退出程序。