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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# C++のcinの動作 5 2023/02/26 00:13
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# C言語でif文が予想と違う動きをする件について7 4 2023/03/20 00:26
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
*をユーザーが入力した数字の数...
-
C言語scanf_sで何故か2回入力に...
-
数字以外が入力されたらエラー...
-
小数か整数かを判定する方法
-
正負を反転させて出力するプロ...
-
C言語でつるかめ算をするにはど...
-
ワードで文字を入力する時の変...
-
double型が正常に認識されてい...
-
if文の条件にscanf関数を使うと…?
-
Java 6人分の得点を入力し、平...
-
"scanf"でエンターで改行させな...
-
Userformの入力順序をタブオー...
-
scanf("%s", buf);でスペースを...
-
入力されたとき,何も入力しな...
-
初歩 文字のカウントについて...
-
プログラミングの問題です 「金...
-
入力する数字のサイズ制限について
-
C言語について。
-
標準入力でEnter入力でも改行さ...
-
Linuxで入力待ちなしkeyread関...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
*をユーザーが入力した数字の数...
-
正負を反転させて出力するプロ...
-
数字以外が入力されたらエラー...
-
プログラミング初心者です。 Py...
-
double型が正常に認識されてい...
-
java初心者です。入力されたの...
-
Eclipseコンソール表示を、リセ...
-
scanfが2回使えない・・・?;
-
C言語scanf_sで何故か2回入力に...
-
if文の条件にscanf関数を使うと…?
-
Linuxで入力待ちなしkeyread関...
-
プログラミングの問題です 「金...
-
ワードで文字を入力する時の変...
-
cout関数を使っているのですが...
-
batプログラム上で文字列を入力...
-
Userformの入力順序をタブオー...
-
scanf が無視されます
-
gets_sがうまく動かない
-
C言語 逆ピラミッドの作り方
-
Excel VBAで、Application.Inpu...
おすすめ情報