近期开发的C++
程序遇到一个关于locale
的问题。程序在通过SSH
直接登录到root
用户后,运行程序会崩溃,而通过其他用户SSH
登录后,再切换到root
用户后,程序则运行正常。
1 | terminate called after throwing an instance of 'std::runtime_error' |
根据locale文档中的描述:
1 | std::locale::locale(const char * __s) [explicit] |
可以得知,指定的locale
不存在。
Google
上查到一般解决方案是设置环境变量LC_ALL=C
可以解决。