UTF-8エンコーディングを含むstd::stringをUTF-16ファイルにストリーミングできるように、std::fstreamを吹き込むことは可能ですか?
utf8-to-utf16 ファセットを使用して次のことを試しましたが、結果ファイルはまだ UTF-8 です。
std::fstream utf16_stream("test.txt", std::ios_base::trunc | std::ios_base::out);
utf16_stream.imbue(std::locale(std::locale(), new codecvt_utf8_utf16<wchar_t,
std::codecvt_mode(std::generate_header | std::little_endian)>);
std::string utf8_string = "\x54\\xE2\x83\xac\x73\x74";
utf16_stream << utf8_string;
codecvt_utf8_utf16 ファセットの参照は、UTF-16 ではなく UTF-8 ファイルの読み取りと書き込みに使用できることを示しているようです - それは正しいですか? もしそうなら、私がやりたいことを行う簡単な方法はありますか?