GCC实现了"en_US.UTF-8",因此可以这样用。
wofstream file("C:/Users/Jim/Downloads/xxx.txt");
file.imbue(std::locale("en_US.UTF-8"));
VS并没有实现"en_US.UTF-8",,但是它实现了codecvt_utf8,因此必须这样写:
wofstream file("C:/Users/Jim/Downloads/xxx.txt");
file.imbue(locale(locale::classic(), new codecvt_utf8<wchar_t>));