Unicode std::string 出力に Boost Ofstream を使用しています。すべての言語 (6.3 までのすべての Unicode バージョン) をサポートするために、適切なロケール (ブースト)/エンコーディングを使用することにこだわっています。このコードは、VS2010 と GCC 4.8 の両方でコンパイルすることを目的としています。
loc::generator gen;
std::locale _loc= gen.generate("en_US.utf-8"); // use the right POSIX locale/ encoding,
// to support different versions of Unicode
// and with different compilers
std::string str = "my unicode string";
boost::filesystem::ofstream _file("my file.txt");
_file.imbue(_loc);
_file<<str;
さまざまなコンパイラからのさまざまな Unicode バージョン、エンコーディング、ロケール サポートを理解しようとしています。