在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’ 鍵退出程序。