kbhit()関数の使用方法



How Use Kbhit Function



目次

からのコンテンツ: Baidu百科事典

定義:

Kbhit()は、キーボード入力イベントに非ブロッキングで応答するCおよびC ++関数です。その中国語は「キーボードヒット」と翻訳できます。



機能紹介:

関数名:kbhit()
関数と戻り値:現在キーボード入力があるかどうかを確認し、戻った場合はゼロ以外の値を返し、そうでない場合は0を返します。
使用法:int kbhit(void)
C ++言語にはヘッダーファイルが含まれています:include。
C言語には、追加のヘッダーファイルを含める必要はありません。
VC ++ 6.0では_kbhit()です
関数と戻り値は上記と同じです

プログラムの説明:

C言語バージョン:

次のコードは、キーボード入力プログラムがない場合、ユーザーがEscキーを押して終了するまで、常にHelloWorldを出力します。



#include<stdio.h> #include<stdlib.h> int main(void) { char ch while(ch!=27) { printf('HelloWorld ') if(kbhit()) ch=getch() } printf('End! ') system('pause') return 0 }

C ++言語バージョン:

#include<conio.h> #include<iostream> using namespace std int main() { while(!kbhit())//When no key is pressed { cout<<'No key pressed'<<endl } cout<<'There is a key press'<<endl/ / Output this when there is a key press system('pause') }

* 注意:

kbhit()を実行すると、ボタンが押されたかどうかが検出され、押された場合はゼロ以外の値が返され、押されなかった場合は0が返されます。これは非ブロッキング関数です。
getch()の実装とは異なり、どのキーが押されたかを検出します。キーを押さないと機能が戻らない場合は、次の手順は実行されません。ブロッキング機能です。
同様に、TC2.0にはキーボード入力を処理する機能があります。 バイオスキー()
1
int bioskey(int cmd)
パラメータcmdが1の場合、bioskey()はキーが押されたかどうかを検出します。キーが押されていない場合は0を返し、キーが押されている場合はキーコードを返します(
どのキーコードも0)ではありませんが、検出されたキーコードはキーボードバッファキューからクリアされません。ノンブロッキング機能です
パラメータcmdが0の場合、bioskey()はキーボードバッファキュー内のキーコードを返し、キーボードバッファキューからキーコードをクリアします。
を除いて。キーボードバッファキューが空の場合、キーが押されるまでボタンコードが返されます。ブロッキング呼び出しです。
実際、kbhit()は少し似ています バイオスキー(1)
Baidu百科事典の練習用の手を書くのは初めて