• ベストアンサー

g++でのユニコード文字列使用

GNUのg++コンパイラにてユニコード(UTF-8)文字列を扱うことは可能でしょうか? 可能でしたら、使うためのinclude方法など教えていただければ幸いです。

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

  • ベストアンサー
  • jacta
  • ベストアンサー率26% (845/3158)
回答No.3

相当古いバージョンを除けば、デフォルトでUTF-8を使うことになります。 もちろん、ソースファイルはUTF-8で作成する必要があります。 UTF-8以外でソースファイルを書いて実行時にはUTF-8にするのであれば、-fexec-charset=utf-8を指定するとよいでしょう。 あるいは、-std=c++11または-std=gnu++11を指定するのであれば、文字列リテラルの前にu8を付ければOKです(例: u8"文字列")。

flex1101
質問者

お礼

回答ありがとうございます。 -fexec-charset, -stdの指定の仕方、勉強になります。

その他の回答 (2)

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.2

g++のバージョンも書かれてないしプラットホームも書かれていないので、単純にできるかできないかだけ書きますが(あなたが使用してるg++が対応してないなどはありえます) できます。 プラットホームでの標準の文字コードがUTF-8以外で、ソースがUTF-8で書かれてるなら コンパイラオプションの -finput-charset でソースの文字コードを教えればいいだけですし。 他にも、-fexec-charsetや-fwide-exec-charsetなどもあるので必要に応じて調べてみてください。

flex1101
質問者

お礼

回答ありがとうございます。 プラットフォームはMacOSX snow leopardです。gcc version 4.2.1というのを使っています。 -finput-charset, -fexec-charsetやfwide-exec-charsetなどの情報ありがとうございます。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

はい.

flex1101
質問者

お礼

回答ありがとうございます。

関連するQ&A

専門家に質問してみよう