• 締切済み

C言語 1文字入力(Enterキーなし)

C言語で 標準入力からの入力をEnterキーなしで受け取る方法がわかりません。 (昔やったような気がするんだけど。。readとか使ったような???) やりたいことは、下記のようなことです。 プロンプト > 実行しますか?(y or n) > と表示し、yキー or nキーの入力のみで、継続処理を行うかどうか判断する。このときエンターキーは押す必要はない。 環境は、windowsXP, cygwin + gcc (C言語) です。 よろしくお願いいたします。

みんなの回答

回答No.5
回答No.4

そのような関数は標準ライブラリにはないので、OSのシステムコールに依存することになります。 OSを指定しなければ、回答出来ません。

no_name029
質問者

補足

OSはWindowsXP Pro SP3 です。 ご教授よろしくお願いします。

  • Yanch
  • ベストアンサー率50% (114/225)
回答No.3

curses.h のgetch() と言う選択肢もあるみたいですよ。

no_name029
質問者

お礼

お礼が遅くなりまして申し訳ありません。 質問後に調べ、getch()を試みましたが、うまく動作しませんでした。 -mnocygwin オプションつけないと駄目なのでしょうか。 cygwin特有の処理をしているため、オプションはずせないため、あきらめました。 ありがとうございました。

回答No.2

Enterキーを押さないなら conio.hをインクルードしてgetch()とかgetche()ですかねー。

no_name029
質問者

お礼

お礼が遅くなり、申し訳ありません。 conio.hの存在は既に知っておりましたが、その旨記載していませんでした。申し訳ありませんでした。 -mnocygwin オプションつけないと駄目とどこかのHPに書かれていました。(自分では試してはいませんが。) cygwin特有の処理をしているため、オプションはずせないため、あきらめました。 ありがとうございました。

  • Go_Ahead
  • ベストアンサー率67% (21/31)
回答No.1

scanf() で。

no_name029
質問者

補足

具体的にどうすれば良いでしょうか? 調べましたが、scanfでやっている解説(HP)は見当たりませんでした。 ご教授よろしくお願いします。

関連するQ&A