我正在尝试学习不同的地区和处理unicode,我选择让我的所有字符串UTF-8,我决定运行以下代码,但出于某种原因,它抛出一个错误,我不知道为什么。到目前为止,我已经试过了所有的地方,除了"C“之外,没有一种是可行的。我尝试了在这里找到的区域列表:http://gcc.gnu.org/onlinedocs/libstdc++/manual/localization.html
他们的例子是:
#include <iostream>
#include <string>
int main()
{
std::locale::global(std::locale("en_US.UTF-8"));
return 0;
}在以下方面的成果:
在引发“std::runtime_error”实例后调用终止 what():locale::facet::_S_create_c_locale名称无效
我做错了什么?
我在Windows8上用最新的代码块构建gcc/g++ 4.8.1,语言设置为EN_US,有时我切换到EN_GB。
发布于 2014-12-29 03:13:40
上周,我遇到了同样的问题,我编写了一个程序,在Windows操作系统下打印所有受支持的地区名称。
见我的答案Print all std::locale names (Windows)
您正在寻找的地区只是Windows下的"en-US“。
https://stackoverflow.com/questions/18686466
复制相似问题