我試圖寫一個程序,模仿一些的終端的功能,我需要存儲已經執行的命令,我將它們存儲在一個數組中,這樣當用戶按下時,他們可以再次查看它們並重新執行它們而不用重新輸入?謝謝C編程,如何可以檢測的按壓向上或向下箭頭的標準輸入
0
A
回答
1
我建議您使用GNU Readline這是因爲它是通過add_history
函數(有一個really simple example here)提供開箱即用的功能之一。滾動歷史記錄默認綁定到向上和向下箭頭。當然,如果你在基於Linux的系統上,這只是一個選項。
如果你有kbhit()
和getch()
做手工的方式,這也不會是跨平臺 - 儘管它已經有一段時間 - 我不記得,你可能會要求getch()
兩次。箭頭鍵沒有ASCII碼,所以按下箭頭會產生兩個字符。您將需要放棄第一個(應該是空終止符'\0'
),並將您的決定基於第二個。沿線的東西:
if (kbhit())
{
ch1 = getch();
if (ch1 != '\0')
{
// not an arrow
}
else
{
ch2 = getch();
switch(ch2)
{
// might be an arrow key, H - up, P - down, K - left, M - right
}
}
}
我想說的是,這是一個痛苦,所以使用Readline,如果你可以。
0
HY
char input = getch();
是獲得當前的鍵盤輸入。如果你想檢查一個鍵是否被按下,你可以檢查功能kbhit()
。箭頭inputnumber是: 左:75 右:77 下來:80 了:72
所以,你可以在輸入開關,檢查是否箭頭點擊。
相關問題
- 1. 檢測向上和向下箭頭按鈕點擊WPF ListView
- 2. 如何發送LeftShift和向上箭頭或向下箭頭在C#
- 3. 檢測爲雙方向上和向右C++,向上箭頭
- 4. WPF - 使用標準按鈕使用向上和向下箭頭創建按鈕
- 5. html向上向下箭頭
- 6. 想要向上/向下箭頭輸入iOS的HTML數字
- 7. 如何找出按下鍵盤向下箭頭鍵,編程
- 8. 如何在jQuery或Javascript中將箭頭綁定到「向上滾動」和向下箭頭以「向下滾動」?
- 9. 如何使輸入搜索框上的向下箭頭工作?
- 10. JavaScript:在輸入文本上使用向上和向下箭頭
- 11. 如何檢測iOS上的圖像中向上的箭頭?
- 12. 向上和向下箭頭的JavaScript
- 13. 如何擺脫輸入日期的x和向上/向下箭頭元素?
- 14. 按鍵[tab,shift,向上/向下/向左/向右箭頭]和firefox
- 15. 防止向下箭頭或向上箭頭更新MS Access中的組合框
- 16. jquery sticked向上和向下箭頭向上和向下
- 17. 按下右箭頭使向上箭頭被設置
- 18. 使輸入框中的向上/向下箭頭沒有任何作用
- 19. 輸入型號如何檢查是否改變事件中鍵向上或按鍵向下箭頭按下(鼠標點擊)
- 20. 瞭解用戶按下向上/向下箭頭
- 21. 用向上/向下箭頭選擇div
- 22. 禁用向上和向下箭頭
- 23. .keyup()向上和向下箭頭在Safari
- 24. AutoCompleteComboBox箭頭向上/向下箭頭鍵滾動列表
- 25. 向下箭頭按鈕的HTML頁面
- 26. KeyPress:如何檢測用戶是否在應用程序運行時按下鍵盤上的「向下」箭頭鍵
- 27. 在列標題中的Gridview排序向上/向下箭頭
- 28. 在excel公式中輸入按鍵「向下箭頭」
- 29. 在Windows上顯示向上/向下箭頭C++
- 30. 通過向上和向下箭頭導航到特定的anochor標籤按
哪個平臺? – cnicutar