5

このトピックConvert between string, u16string & u32stringとソリューション (これは本当に素晴らしい) は、libstdc++ ではなく libc++ を使用してのみ機能することがわかりました。現在、libc++ は使用できません。コンパイルが難しく、Windows ではうまく動作しません。

すべてのプラットフォームで動作する C++11 と libstdc++ を使用してこれらの表現を変換する方法はありますか?

u32_string を文字列 (utf8) に、またはその逆に変換することに特に興味があります。

4

2 に答える 2

2

C++11 には、 wstring_convertクラスを使用してこれを行う移植可能な方法があります。

ただし、まだ libstdc++ が実装されていないようです (gcc 4.8 時点)。

同じことが次の場合にも当てはまります。

codecvt<char16_t, char, mbstate_t>.
codecvt<char32_t, char, mbstate_t>.
codecvt_utf8.
codecvt_utf16.
codecvt_utf8_utf16.

実際、ヘッダー<codecvt>は gcc ディストリビューションにはまだ存在しません。

于 2013-04-28T14:34:16.847 に答える