首頁>Club>
4
回覆列表
  • 1 # 使用者5422508137144

    kbhit用來檢測鍵盤是否有按鍵,有則返回-1,沒有則返回0. 如果想知道按下了什麼鍵,應該用getch()來獲取(鍵值已經輸入緩衝區,getch從緩衝區中取得而非再從鍵盤輸入). 你給出的程式應該是一個不會正常退出的死迴圈吧(不管按什麼鍵),因為, while (!kbhit()) m = getch(); getch()會中斷等待你從鍵盤輸入,這個輸入不會被kbhit檢測到(此時中斷處理中),而待中斷處理完後(輸入一個字元後)再轉到kbhit,而此時又沒有輸入馬上再次轉到getch(). 我給一個我見過的用法: #include <stdio.h> void main() { char m; int i = 0; while (1) { while (!kbhit()) { i++; if (i == 8) i = 0; sound(i); } m = getch(); printf("m == %c\n", m); if (m == "s") { nosound(); break; } } getch(); } 參考文獻: others麻煩採納,謝謝!

  • 2 # 埃夫隆

    kbhit是一個C++函式,用於非阻塞地響應鍵盤輸入事件。

    函式名:kbhit()

    功能及返回值: 檢查當前是否有鍵盤輸入,若有則返回一個非0值,否則返回0

    用 法:int kbhit(void);

    包含標頭檔案: include

    在VC++6.0下為_kbhit()

    功能及返回值同上;

  • 中秋節和大豐收的關聯?
  • 家裡裝修,裝LED燈,買什麼牌子好?