
A 回答 (7件)
- 最新から表示
- 回答順に表示
No.7
- 回答日時:
Windows環境でMinGWを使っておられると思いますが
> ^Zと^Dの値は、ともに0xaです
Windowsに依存しているようですね。
MinGWを使っていないので判りませんが、getchやscanfでも同じでしょうか。
他のキー入力関数も調べて見たらいかがでしょうか。
この回答への補足
getch()は、^Zと^Dの値はprintf()で表示されませんでした(永久ループのように終了しないので強制終了しました)。
scanf()は、^Zと^Dの値はともに0xaです。
他の入力関数も試そうと思ったのですが、
> Windowsに依存しているようですね。
ということが大きいようなので、少し頭を冷やして別の方法を自分でも考えてみます。
No.6
- 回答日時:
> ch = getchar()で半角の1は0x31、半角aは0x61、EOFは0xffffffffです
EOFは-1ということですね。
^Zと^Dの値は表示されますか。
表示されたならその16進数をEOFの代わりに使って見たらいかがでしょうか。
この回答への補足
> ^Zと^Dの値は表示されますか。
^Zと^Dの値は、ともに0xaです。
0xaは改行ですよね。そうすると^Zと^Dの値は何も受け取っていないことになりますよね。どうもこの辺りが問題のような気がしてきました。
No.5
- 回答日時:
既に ANo.3さんが回答していますが、このような場合は getchar() で実際に何が受け取られているか確認される方がよいかと思います。
(whileを使わないで)ch = getchar();
printf(%x\n,ch);
かな。
ついでに EOF も調べておいた方がよいかも。
printf(%x\n,EOF);
この回答への補足
早速while()を使わないで、値を調べてみました。ch = getchar()で半角の1は0x31、半角aは0x61、EOFは0xffffffffです。
補足日時:2013/02/05 18:16No.4
- 回答日時:
stty って使える?
この回答への補足
minttyのコマンドラインで「stty -a」で設定を見てみましたが、「eof = ^D; eol = <undef>;」などとなっています。これを仮にeof = ^Zに変更したりすると(変更の仕方はまだ分かりませんが)viエディタ(まだインストールしていません)などを使う時に不都合などが生じないかとふと思いましたが、どうでしょうか。
補足日時:2013/02/05 17:58No.3
- 回答日時:
この回答への補足
参考になるデータを紹介いただきありがとうございます。ただこの質問されている方はDOS窓を使っているのか、統合開発環境を使っているか今ひとつ不明で、私のminttyの場合とちょっと違うニュアンスを感じました。
補足日時:2013/02/05 17:48No.1
- 回答日時:
エミュレーターの仕様が、
Ctrl + Z ≠ EOF
になっていたりしませんか?
この回答への補足
このエミュレータが「Ctrl + Z ≠ EOF」なのかは、自分で調べた範囲では分かりませんでした。minttyの仕様に関する以下のサイトでもそれらしいことが書かれていませんでした。
http://gnupack.sourceforge.jp/docs/latest/UsersG …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Eclipseでコマンドラインを入力...
-
4桁の数字以外を入力したらエラ...
-
*をユーザーが入力した数字の数...
-
Userformの入力順序をタブオー...
-
java初心者です。入力されたの...
-
C言語について
-
数値の連続入力終了条件について
-
コマンドプロンプトからのEOFの...
-
UWSCで変数をキー入力
-
"gets"は危険なのでしょうか?
-
Linuxプログラミングで、キーボ...
-
cin.get(c)について
-
最大公約数と最小公倍数を求め...
-
ダメだ・・・分からない。while...
-
キー入力制限について
-
入力されたとき,何も入力しな...
-
c言語でひらがなのしりとりをで...
-
至急教えてください!プログラ...
-
【C言語】入力された文字種別ご...
-
linux C言語について ./ファイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
*をユーザーが入力した数字の数...
-
数字以外が入力されたらエラー...
-
java初心者です。入力されたの...
-
Eclipseコンソール表示を、リセ...
-
正負を反転させて出力するプロ...
-
プログラミング初心者です。 Py...
-
scanfが2回使えない・・・?;
-
Excel VBAで、Application.Inpu...
-
"scanf"でエンターで改行させな...
-
scanf が無視されます
-
C言語 逆ピラミッドの作り方
-
プログラミングの問題です 「金...
-
if文の条件にscanf関数を使うと…?
-
C言語でgetchar();が上手く使え...
-
UWSCで変数をキー入力
-
4桁の数字以外を入力したらエラ...
-
EDITコントロールで入力できる...
-
C言語でつるかめ算をするにはど...
-
Userformの入力順序をタブオー...
-
C言語scanf_sで何故か2回入力に...
おすすめ情報