ページ 11

eclipseでgetch()が使えない?

Posted: 2017年8月31日(木) 21:43
by syosin
実行するとキーボードから打ち込んだ1文字を出力することを期待して、下記のようなプログラムを書きました。
参考書には、getch関数は コンソール画面にエコーすることなく、キーボードから文字を読み込む。と書いてあります。
しかし、いざ実行してみると入力したものがエコーされ、出力もされません。
また、参考書にはgetch関数は標準ライブラリではないと書いてあり、私は 今使っているコンパイラがgetch関数を機能させられなかったから?と考えました。getch関数を機能させるためにはどうすればよいのでしょうか?
OSはWIndows10 ソフトはeclipse NEON ver.4.6です。
C言語、というかプログラミング自体初心者なので、初歩的な質問ですし、質問のしかたもおかしいかもしれまんが出来れば優しくご教授していただけるとありがたいです。宜しくお願いいたします(-_-メ)

コード:

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

int main(void)
{
	int ch;
	printf("キーを押してください。");
	ch = getch();
	printf("\n押されたキーは%cで値は%dです。\n",
	isprint(ch) ? ch : ' ', ch);
	return 0;
}

Re: eclipseでgetch()が使えない?

Posted: 2017年9月02日(土) 11:30
by いわん
コードを見た限りは問題は無いように思いますが、
実行は eclipse から行っているのですか。
もしそうなら作成した exe をコマンドラインで直接実行したら結果が変わるかもしれません。

Re: eclipseでgetch()が使えない?

Posted: 2017年9月03日(日) 23:37
by syosin
なるほど...
やってみます!ありがとうございました!