2015-07-20 47 views
0

我正在用C++編寫一個小型遊戲程序,它要求用戶按下鍵盤上的某些鍵。 'cin >>'或cin.get()的問題在於它需要用戶按Enter鍵才能將數據讀入內存。所以,請按下回車鍵來幫助我閱讀按鍵。我在Linux上工作。如何在C++中按enter鍵閱讀字符

+0

會[此](https://stackoverflow.com/questions/24708700/c-detect-when-user-presses-arrow-key)有幫助嗎? –

+1

C++沒有「鍵盤」的概念。你需要一個(可能是特定於平臺的)庫來包裝你的操作系統的鍵盤驅動程序。通常這是「終端」的一部分。 –

回答

2

也許你可以使用ncurses庫?

+1

它是Linux上的'ncurses',你最好給它的URL –

0

默認情況下,終端被緩存,並在"cooked mode",其中個別按鍵不立即發送到應用程序。

您可能可以使用像GNU readline這樣的輸入,或者您可以使用ncurses進行輸入和輸出,或者如果您只是想在按下時接收每個按鍵,則可以將終端置於原始模式並執行所有操作手動使用cfmakeraw函數。