• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語、エラーメッセージが紐解けません。)

C言語、エラーメッセージが紐解けません

このQ&Aのポイント
  • C言語のエラーメッセージの意味を理解できない場合のアドバイスをお願いします。
  • C言語のコードを書いたが、コンパイルエラーが出てしまい、原因がわかりません。どなたかアドバイスをお願いします。
  • C言語において、構造体のサイズを表示するコードを書いたが、コンパイルエラーが出てしまい、解決策がわかりません。どなたかアドバイスをお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4901/10362)
回答No.1

mingwは、文字コードがutf-8前提なので、シフトJISの文字を使うときは、コンパイルオプションの指定が必要です。 gcc -finput-charset=CP932 -fexec-charset=CP932 text20.c -o text20

jump7799
質問者

お礼

ご回答誠にありがとうございました。 流石によくご存じですね。 凄いですね。 大変勉強になりました。 今後とも宜しくお願い致します。

その他の回答 (1)

  • f272
  • ベストアンサー率46% (8625/18445)
回答No.2

どうしてそんなメッセージが出るかと言えば,ShiftJISコードがそれぞれ16進で 構(8d-5c)造(91-a2) となっています。そして構の2バイト目の5cはバックスラッシュ「\」の文字コードと同じですから8d-5c-91-a2の5c-91のところがescape sequenceだと解釈されるのです。escape sequenceは文字列の中で特殊な文字を入力したいときに使うもので,たとえば「\n」でも使っていますよね。 16進の91は8進だと221です。 だから'\221'となって,知らないescape sequenceだと言うのです。

jump7799
質問者

お礼

ご回答誠にありがとうございました。 お書きになっていることが、マダよく解りません。 僕が1番理解できてないのが、2進数、8進数、16進数 です。 そのうち質問するかも知れないので、 どうぞ、宜しくお願い申し上げます。

関連するQ&A