我正在使用read()系統調用從標準輸入讀取數據,但有一件事情讓我困擾。我不能使用箭頭鍵......我真正想做的是使用箭頭鍵在輸入的文本中來回移動,但我認爲這並不容易......所以,我至少要做的是,就是無視他們。如何忽略C中從標準輸入讀取的箭頭鍵?
現在,按任意箭頭鍵會產生奇怪的輸出,我想阻止任何東西寫入標準輸出(因此從read()系統調用中的標準輸入讀取)。
這很容易實現或者不是那麼容易嗎?
我正在使用read()系統調用從標準輸入讀取數據,但有一件事情讓我困擾。我不能使用箭頭鍵......我真正想做的是使用箭頭鍵在輸入的文本中來回移動,但我認爲這並不容易......所以,我至少要做的是,就是無視他們。如何忽略C中從標準輸入讀取的箭頭鍵?
現在,按任意箭頭鍵會產生奇怪的輸出,我想阻止任何東西寫入標準輸出(因此從read()系統調用中的標準輸入讀取)。
這很容易實現或者不是那麼容易嗎?
爲了按照理想的方式解釋箭頭鍵(即來回移動和編輯輸入),通常需要使用庫。對於Linux,標準是GNU Readline。希望別人能說出你通常用於Windows CLI應用程序的東西。
答案最終取決於鑰匙從哪裏來。我在Cygwin下運行這個程序:
int main(void)
{
int c=0;
while(c != 'X') {
c = getchar();
printf("\nc=%d", c);
}
}
每次光標鍵走來,我看到逃生(27),支架,加上另一個字符。所以,如果你得到這樣的結果,每次看到一個27就可以跳過3個鍵。你也可以看着它們並利用它們!如上所述,YMMV,尤其是美國證券交易所,以及您所稱的實際獲利功能。
這可能是我需要的唯一答案大聲笑... – 2009-05-22 15:49:37