ご存知のように、Windowsでgetch()を使用すると、アプリケーションはキーを押すまであなたを待ちます。
プログラムをフリーズせずにキーを読み取るにはどうすればよいですか、例:
void main(){
char c;
while(1){
printf("hello\n");
if (c=getch()) {
.
.
.
}
}
ありがとうございました。
kbhit()
キーが押されているかどうかを確認するために使用できます。
#include <stdio.h>
#include <conio.h> /* getch() and kbhit() */
int
main()
{
char c;
for(;;){
printf("hello\n");
if(kbhit()){
c = getch();
printf("%c\n", c);
}
}
return 0;
}
詳細はこちら:http ://www.programmingsimplified.com/c/conio.h/kbhit
Linuxのコンソールアプリケーションにも同様の機能が必要でしたが、Linuxにはkbhit
機能がありません。Googleを検索したところ、-で実装が見つかりました。