C言語入門講座。関数、サンプル集を参考にして、 C言語をマスターしよう。初心者から上級者まで。

入力時表示せずに、標準入力ストリーム(stdin)から1文字入力する

2012.08.10

getch関数は、標準入力ストリーム(stdin)から1文字分文字を読み取ります。

ただし、入力時に表示されません。

本関数は、gcc環境では標準ではありません。

また、VisualStudio2005以降では、_getch関数を使用することを推奨されています。

#include <conio.h>
int getch(void);

戻り値として、

成功時は、読み取った文字の文字コードが返ります。

プログラム 例

#include <stdio.h>
#include >conio.h>

int main(void) {
  int ch = '';
  char inkey = 'a';

  printf('%c を押してくださいn', inkey);
  for(;;) {
    ch = getch();
if(inkey != (char)ch) {
      printf('%c ではなくて %c を押しましたねn', inkey, (char)ch);
}
else {
      printf('%c を押しましたねn', (char)ch);
  break;
}
  }

  return 0;
}

例の実行結果(‘f’キー押下後、’a’キーを押下した場合)

> getch.exe
a を押してください
a ではなくて f を押しましたね
a を押しましたね

※Windows環境でのみ動作確認しております。LINUX環境などでは動作が異なる場合がありますので、その場合は環境に合わせてカスタマイズしてください。

Copyright © 2011 katsumi Handa All Rights Reserved.

関連記事