std :: codecvtファセットを作成するにはどうすればよいですか?UTF-16からUTF-8に移行し、UTF-16からシステムの現在のコードページ(Windows、つまりCP_ACP)、およびシステムのOEMコードページ(Windows、つまりCP_OEM)に移行するものを作成したいと思います。
クロスプラットフォームが推奨されますが、Windows上のMSVCでも問題ありません。このクラスを正しく使用する方法について、チュートリアルやその性質のものはありますか?
iconvに基づいて作成しました。Windowsまたは任意のPOSIXOSで使用できます。(明らかにiconvとリンクする必要があります)。
「ハウツー」の質問に対する答えは、codecvtリファレンスに従うことです。私は2年前にインターネットでこれ以上の指示を見つけることができませんでした。
重要なお知らせ
このstd::codecvtの問題は、問題を探すための解決策であるということです。むしろ、それが解決しようとしている問題は解決できないので、それを解決策として使おうとする人は誰でも非常に失望するでしょう。
入力または出力がどの文字セットであるかわからない場合は、std::codecvtが役に立ちません。逆に、使用している文字セットがわかっている場合は、1回の関数呼び出しでそれらの間を簡単に変換できます。その関数呼び出しを複雑なテンプレートの混乱でラップしても、それらの基本は変わりません。
...そしてそれが誰もstd::codecvtを使用しない理由です。私はあなたが他のみんながすることをすることをお勧めします、そしてそれが決して起こらなかったふりをします。