setlocale()以root身份运行时返回'C'

时间:2011-10-26 09:35:35

标签: c++ macos locale

我正在使用以下内容来获取系统区域设置:

currentLocale = setlocale(LC_ALL,"");

这通常效果很好,我得到(例如)en_GB.UTF-8

但是,当以root身份运行相同的程序时,我得到C。如何以root用户身份运行时获取系统区域设置?

1 个答案:

答案 0 :(得分:4)

没有“系统区域设置”。每个用户可以自己设置语言环境,并且每个程序可以有所不同(例如,执行LC_ALL =“en_US”语言环境)。返回值C表示用户未设置任何语言环境且默认语言环境处于活动状态。