プロが教えるわが家の防犯対策術!

getch関数は非常に使い勝手が良くて、キーボードから入力した文字を画面にエコーバックしませんし、エンターキーなどを押す必要もありません。
このgetch関数を標準ライブラリだけを使って作成することは可能でしょうか?
ぜひよろしくお願いします。

A 回答 (2件)

ANSIやISOで定義されているC標準ライブラリということであればできません。

    • good
    • 0
この回答へのお礼

そうなんですね。ありがとうございます。

お礼日時:2012/06/10 16:17

OS依存です。



Linuxなら、

#include <termios.h>
#include <unistd.h>

struct termios x;

/*標準入力を1文字入力&エコー無しに*/
ch=tcgetattr(0,&x);
x.c_lflag &= ~(ICANON|ECHO);
ch=tcsetattr(0,TCSANOW,&x);

printf("CH=%02X\n",getchar());

/*標準入力を行入力&エコー有りに*/
x.c_lflag |= (ICANON|ECHO);
ch=tcsetattr(0,TCSANOW,&x);
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2012/06/10 16:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!