其他分享
首页 > 其他分享> > locale::facet::_S_create_c_locale name not valid

locale::facet::_S_create_c_locale name not valid

作者:互联网

## 概述 Linux系统下,C++编译的库程序运行时,突然报错: ``` terminate called after throwing an instance of 'std::runtime_error' what(): locale::facet::_S_create_c_locale name not valid ``` ## 原因 该错误是因为程序中使用了GBK字段(或其他系统不支持的字符集数据)导致的。 ![](http://www.icode9.com/i/li/?n=4&i=images/blog/202106/09/a6859d0453ef3bdb431b077bfe6a1383.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) ## 解决方法 使用locale -a命令查看当前系统支持的字符集,选择一个系统支持的字符集即可。 ![](http://www.icode9.com/i/li/?n=4&i=images/blog/202106/09/6739ac8af145166fe1714e8154013c71.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)

标签:10,locale,create,字符集,facet,##,images,color
来源: https://blog.51cto.com/weiyuqingcheng/2884414