
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ランキング
-
コンソールアプリの入力時に改...
-
UWSCで変数をキー入力
-
コマンドプロンプトからのEOFの...
-
コンボボックスで日本語入力を...
-
漢字のソートについて
-
WindowsでEOF
-
数字以外が入力されたらエラー...
-
最早開始時間と最遅完了時刻を...
-
C言語 エラーの原因がわからな...
-
信頼区間の1.96や1.65ってどこ...
-
「Aに対するBの割合」と「Aに対...
-
For文の終了値を関数にしても問...
-
配列をnビットシフトする
-
数学 一次関数 関数 y=-3/4x+k(...
-
std::set<int> で、ある値が何...
-
Enterキーを押されたら次の処理...
-
sscanfとscanfの違いがよくわか...
-
main.c:7:43: warning: implici...
-
#define _CRT_SECURE_NO_WARNIN...
-
InvokeMemberメソッドとは何を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
数字以外が入力されたらエラー...
-
正負を反転させて出力するプロ...
-
プログラミング初心者です。 Py...
-
*をユーザーが入力した数字の数...
-
java初心者です。入力されたの...
-
コマンドプロンプトからのEOFの...
-
4桁の数字以外を入力したらエラ...
-
Eclipseコンソール表示を、リセ...
-
Excel VBAで、Application.Inpu...
-
"scanf"でエンターで改行させな...
-
cout関数を使っているのですが...
-
プログラミングの問題です 「金...
-
scanf関数について
-
Userformの入力順序をタブオー...
-
C言語でgetchar();が上手く使え...
-
プログラムの実行時に'<'でリダ...
-
C言語初心者です。ファイルの読...
-
scanf が無視されます
-
実行結果の順番がおかしいんで...
-
C言語scanf_sで何故か2回入力に...
おすすめ情報