2013-03-18 59 views
0

從用戶那裏獲得鍵盤輸入最簡單的方法是什麼?不是你必須在控制檯輸入輸入數據的地方。我找不到任何教程,我需要幫助。我只知道如何創建控制檯應用程序。我使用minGW編譯器和Im usig windows 7.所以,基本上,是否有一個鍵盤輸入庫,我該如何使用它?謝謝。C++最簡單的鍵盤輸入

回答

0

這裏是一個什麼樣的可能是最簡單的方法一個簡短的演示:

#include <conio.h> 

int main(){ 
    int ch = getch(); 
    return 0; 
} 
+0

所以我將不得不一直呼叫,所以它可以改變。 – 2013-03-18 03:49:18

+0

是的 - 每次你調用它時,它都會讀取一個關鍵筆劃(除了shift,control和alt之外)。 – 2013-03-18 03:52:53

1

在Windows中您可以使用_kbhit()功能從conio.h確定按鍵是否可用。如果您不希望在沒有用戶輸入時阻止對getch()的阻止,則此功能非常有用。使用_kbhit()可以在等待鍵盤輸入的同時進行其他處理。但你可能只是想等待。

int GetKeypress() 
{ 
    while(!_kbhit()) Sleep(25); 
    return getch(); 
} 

對於更通用的解決方案,您可以查看ncurses庫。

+0

感謝您對我的文章哈里森的建議編輯。但是,這是無效的。該功能不允許您在等待輸入時「同時」進行其他處理。要做到這一點,你可以使用另一個線程。該功能只是讓你「偷看」輸入緩衝區,看看角色是否在等待。這樣,您可以避免在不想阻止的情況下進行潛在的阻塞呼叫。 – paddy 2013-03-18 04:19:11