我使用以下命令来获取系统区域设置:
currentLocale = setlocale(LC_ALL,"");
这通常工作得很好,我得到(例如)en_GB.UTF-8
。
但是,当以 root 身份运行相同的程序时,我得到 C
。以 root 身份运行时如何获取系统区域设置?
最佳答案
没有“系统区域设置”。每个用户都可以自行设置区域设置,并且每个程序的区域设置可能有所不同(例如执行 LC_ALL="en_US"区域设置)。返回值 C
表示用户尚未设置任何区域设置,并且默认区域设置处于事件状态。
关于c++ - 以 root 身份运行时 setlocale() 返回 'C',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7900948/