- ベストアンサー
C++で16進数の文字コードから文字を表示する
- C++を使って16進数の文字コードから文字を表示するプログラムを作成しようとしています。しかし、ビルドの段階でデバッグエラーが発生しています。どのような原因が考えられるのでしょうか?
- C++で16進数の文字コードから文字を表示するプログラムを作成しようとしています。しかし、リビルドしたときは正常終了するのに、ビルドの段階でデバッグエラーが発生してしまいます。原因がわかりません。どのような点をチェックすればよいでしょうか?
- C++を習得しようとしています。16進数の文字コードから文字を表示するプログラムを作成しましたが、ビルドの段階でデバッグエラーが発生してしまいます。原因がわからず困っています。お助けください!
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
#3さん > suujiの型を、shortやintにしてみると通った理由が分かってすっきりしたー。 shortは「その時たまたま影響がでなかった(ように見えた)」だけですから。charの時と本質的な違いはありません。 その一覧表は、誤解を与えるというか、間違ってるというか。 printfの表では %fをfloat / %lfをdoubleとしている。これが「間違い」なのはva_argの説明を参照。 scanfでは%sがchar *と%cがchar と、本当は同じchar *で受けるのに違っている。&を付ける前提で書いてるようだが、char *str ;としたものを scanf( .., &str) とする、と誤解しかねない。 参考にするのならこちらをどうぞ。 http://www.k-cube.co.jp/wakaba/server/func/fprintf.html http://www.k-cube.co.jp/wakaba/server/func/fscanf.html http://www.k-cube.co.jp/wakaba/server/func/va_arg.html 同じサイトなのに著者が違うのだろうか。
その他の回答 (4)
- plot02
- ベストアンサー率0% (0/2)
#4さん、補足の説明ありがとうございます。 質問者さんじゃないですが、あやふやだったprintfの書式設定について知ることができて、いい勉強になりました。
- plot02
- ベストアンサー率0% (0/2)
自分も理由が気になったので調べてみたら、書いてあるページがありましたよ。 suujiの型を、shortやintにしてみると通った理由が分かってすっきりしたー。
- asuncion
- ベストアンサー率33% (2127/6289)
>エラーの内容は画像を添付いたしました。 添付されてないようですので、お願いします。
- kmee
- ベストアンサー率55% (1857/3366)
scanfのマニュアルをよーーく読んでください。 特に「変換文字列とそれに対応する型」のところを。 不一致だと正常に動かない、あるいは正常に動いているようで違うところに影響が出ることがあります。 そして、C言語では不一致でもエラーにはなりません。