我創建了一個使用AppKit讀取系統範圍擊鍵的ncurses程序。要在運行程序時清除在命令行上累積的文本的牆,我在退出程序之前執行這一行代碼。C禁用命令行輸入
while((c = getch()) != '\n' && c != EOF) {}
我的問題是如果有一個更有效的方法來解決這個問題。例如,在程序執行時禁用命令行輸入。
編輯:
我跑了一些測試,我的問題似乎根植於usleep而不是ncurses的或AppKit的。這裏有一個例子:
#include <unistd.h>
int main() {
usleep(5000000);
return 0;
}
當程序運行時,終端中的輸入應該在程序退出時被丟棄。應該沒有必要明確地做到這一點。 –
對我來說,這是當我退出(0)程序的命令行: 的bash-4.4 $ ddddddaaaaaaaaaaawwwwwwwwwwdddddddddddddddddddddddddddddddddddddddddddddddddaaaaaaaaaaaaaaaaaaaaax –
聽起來像一個XY問題。目前還不清楚你想完成什麼。提供一個[mcve]的細節。 – Olaf