我从 22 个不同语言的文件中分离出不同的部分,并使它们成为一个 wstring 行,如下所示:
wstring wstr_line = L"\"IDS_TOAST_ECOON\",\"eco Mode is turned On.\",\"ecoモードをオンにしました。\",\"Režim eco je zapnutý.\",\"Økoindstillingen er aktiveret\"..."
我用wofstream把wstr_line放到一个文件里,但是这行在日文部分结束了(\"ecomoードをオンニしました。\")。
如果我设置 wfout.imbue("chs");
该行在捷克语部分结束(\"Režim eco je zapnutý.\")
如何将这一行正确写入文件?
最佳答案
尝试将其作为代码中的第一行:
int main()
{
std::cout.imbue(std::locale(""));
这会将应用程序的本地设置为机器支持的内容(对于宽字符串可能是 UTF-32)。不幸的是,程序员的默认本地是“C”,“C”本地的 codecvt facet 没有做任何有用的事情(可能会在不转换的情况下将宽字符截断为单个字节)。
关于c++ - 如何将包含不同语言的 wstring 行写入文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11715441/