- ベストアンサー
g++でのユニコード文字列使用
GNUのg++コンパイラにてユニコード(UTF-8)文字列を扱うことは可能でしょうか? 可能でしたら、使うためのinclude方法など教えていただければ幸いです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
相当古いバージョンを除けば、デフォルトでUTF-8を使うことになります。 もちろん、ソースファイルはUTF-8で作成する必要があります。 UTF-8以外でソースファイルを書いて実行時にはUTF-8にするのであれば、-fexec-charset=utf-8を指定するとよいでしょう。 あるいは、-std=c++11または-std=gnu++11を指定するのであれば、文字列リテラルの前にu8を付ければOKです(例: u8"文字列")。
その他の回答 (2)
- wormhole
- ベストアンサー率28% (1626/5665)
回答No.2
g++のバージョンも書かれてないしプラットホームも書かれていないので、単純にできるかできないかだけ書きますが(あなたが使用してるg++が対応してないなどはありえます) できます。 プラットホームでの標準の文字コードがUTF-8以外で、ソースがUTF-8で書かれてるなら コンパイラオプションの -finput-charset でソースの文字コードを教えればいいだけですし。 他にも、-fexec-charsetや-fwide-exec-charsetなどもあるので必要に応じて調べてみてください。
質問者
お礼
回答ありがとうございます。 プラットフォームはMacOSX snow leopardです。gcc version 4.2.1というのを使っています。 -finput-charset, -fexec-charsetやfwide-exec-charsetなどの情報ありがとうございます。
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.1
はい.
質問者
お礼
回答ありがとうございます。
お礼
回答ありがとうございます。 -fexec-charset, -stdの指定の仕方、勉強になります。