17

std :: wstringをラップするクラスを使用しています。このコードはクロスプラットフォームである必要がありますが、Windows関数に相当するものはありますか:LinuxのMultiByteToWideCharおよびWideCharToMultiByte?

ありがとうございました。

4

2 に答える 2

18

Linux に相当するものは、iconv関数iconv_openiconvおよびiconv_close(man 3 iconv_openドキュメンテーションについては etc など) です。クロスプラットフォーム アプリケーションの場合は、代わりにICUなどの専用ライブラリを使用してください。このようなライブラリには、独自の文字列クラスが既に含まれています。ラップする必要はありませんstd::wstring

于 2010-07-18T20:00:47.313 に答える
4

mbtowcwctombは最も直接的に同等ですが、現在のLC_CTYPEロケールに対応するマルチバイト文字セットで動作することに注意してください (これは で変更できますsetlocale())。

于 2010-07-19T01:59:22.157 に答える