私は現在iconv
、異なるエンコーディングのドキュメントを変換するために使用しています。
このiconv()
関数には次のプロトタイプがあります。
size_t iconv (
iconv_t cd,
const char* * inbuf,
size_t * inbytesleft,
char* * outbuf,
size_t * outbytesleft
);
これまでは、タイプのバッファーを変換するだけで済みましたが、タイプのバッファーをchar*
変換する必要があることにも気づきましたwchar_t*
。実際、このようなバッファーiconv
専用のエンコード名もあり"wchar_t"
ます。このエンコードは、オペレーティングシステムの設定に適合します。つまり、私のコンピューターでは、WindowsではUCS-2を、LinuxではUTF-32を参照します。
しかし、ここに問題があります。バッファがある場合は、で使用するためのバッファwchar_t*
にできますが、実装で定義された動作に直面します。キャストに関してすべてのコンパイラが同じように動作するかどうかはわかりません。reinterpret_cast
char*
iconv
ここで何をすればいいですか?