私はそのwstring
ように宣言しました:
// random wstring
std::wstring str = L"abcàdëefŸg€hhhhhhhµa";
私のソースファイルはであるため、リテラルはUTF-8でエンコードされます。
[編集:Mark Ransomによると、これは必ずしも当てはまるわけではなく、コンパイラが使用するエンコーディングを決定します。代わりに、UTF-8などでエンコードされたファイルからこの文字列を読み取ったと仮定します]
これをファイルの読み取りに取り入れたいと思います(テキストエディタが正しいエンコーディングに設定されている場合)
abcàdëefŸg€hhhhhhhµa
しかし、ofstream
あまり協力的ではなく(wstring
パラメータを取ることを拒否します)、wofstream
おそらくロケールとエンコーディング設定を知る必要があります。このバイトセットを出力したいだけです。通常、これをどのように行いますか?
編集:クロスプラットフォームである必要があり、UTF-8であるエンコーディングに依存しないでください。たまたまにバイトのセットが格納されていてwstring
、それらを出力したいと思っています。それはUTF-16またはプレーンASCIIである可能性が非常に高いです。