ページ 11

特定のキーの受付

Posted: 2012年12月17日(月) 21:31
by かめねこ
現在、コンソールアプリケーションを制作してるのですが、scanfの様に一定のキーが入力後にエンターを押さず、そのキーのみで条件判断させたいのですが、どうしたら良いですか?

例)
文書:処理を開始するにはエンターを押して下さい。
操作:エンターを入力し、処理を実行

というものが作りたいです。

Re: 特定のキーの受付

Posted: 2012年12月17日(月) 22:03
by ISLe
ウィンドウズのコマンドプロンプトで動作するものであれば、コンソールライブラリ(conio)の_getchが使えます。

ウィンドウズに限定しないのであればcursesライブラリを使うと良いです。

Re: 特定のキーの受付

Posted: 2012年12月17日(月) 22:04
by nil
一文字を入力する場合、getcharで大体が事足りるのですが、
エンターを介さない方法となると、
conio.hに定義されているgetch関数を使えばいいかと思います。

コード:

#include <stdio.h>
#include <conio.h>
int main(){
	char in = getch();
	putchar( in );
}
但し、これは処理系依存のようで、
MS-DOS以外ではつかえないようです。

Re: 特定のキーの受付

Posted: 2012年12月17日(月) 22:10
by かめねこ
お二方、ありがとうございます。
getch関数にて望みの動作が出来る様なので、そちらを使用します。
助言ありがとうございました!