8

ご存知のように、Windowsでgetch()を使用すると、アプリケーションはキーを押すまであなたを待ちます。

プログラムをフリーズせずにキーを読み取るにはどうすればよいですか、例:

void main(){
  char   c;
  while(1){
  printf("hello\n");
  if (c=getch()) {
  .
  .
  .
  }  
}

ありがとうございました。

4

2 に答える 2

11

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

于 2012-11-25T01:47:04.383 に答える
1

Linuxのコンソールアプリケーションにも同様の機能が必要でしたが、Linuxにはkbhit機能がありません。Googleを検索したところ、-で実装が見つかりました。

http://www.flipcode.com/archives/_kbhit_for_Linux.shtml

于 2014-02-05T18:21:48.143 に答える