- 締切済み
C言語 1文字入力(Enterキーなし)
C言語で 標準入力からの入力をEnterキーなしで受け取る方法がわかりません。 (昔やったような気がするんだけど。。readとか使ったような???) やりたいことは、下記のようなことです。 プロンプト > 実行しますか?(y or n) > と表示し、yキー or nキーの入力のみで、継続処理を行うかどうか判断する。このときエンターキーは押す必要はない。 環境は、windowsXP, cygwin + gcc (C言語) です。 よろしくお願いいたします。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- lailai2580
- ベストアンサー率64% (16/25)
- okazaki0ko
- ベストアンサー率15% (37/238)
そのような関数は標準ライブラリにはないので、OSのシステムコールに依存することになります。 OSを指定しなければ、回答出来ません。
- Yanch
- ベストアンサー率50% (114/225)
curses.h のgetch() と言う選択肢もあるみたいですよ。
お礼
お礼が遅くなりまして申し訳ありません。 質問後に調べ、getch()を試みましたが、うまく動作しませんでした。 -mnocygwin オプションつけないと駄目なのでしょうか。 cygwin特有の処理をしているため、オプションはずせないため、あきらめました。 ありがとうございました。
- lailai2580
- ベストアンサー率64% (16/25)
Enterキーを押さないなら conio.hをインクルードしてgetch()とかgetche()ですかねー。
お礼
お礼が遅くなり、申し訳ありません。 conio.hの存在は既に知っておりましたが、その旨記載していませんでした。申し訳ありませんでした。 -mnocygwin オプションつけないと駄目とどこかのHPに書かれていました。(自分では試してはいませんが。) cygwin特有の処理をしているため、オプションはずせないため、あきらめました。 ありがとうございました。
- Go_Ahead
- ベストアンサー率67% (21/31)
scanf() で。
補足
具体的にどうすれば良いでしょうか? 調べましたが、scanfでやっている解説(HP)は見当たりませんでした。 ご教授よろしくお願いします。
補足
OSはWindowsXP Pro SP3 です。 ご教授よろしくお願いします。