我以 root 身份运行,但有用户的 uid(例如504
)。如何计算出用户的语言环境(在我的情况下en_GB
)?以下不起作用:
setuid(user_uid);
fprintf(stderr,
CFStringGetCStringPtr(CFLocaleGetIdentifier(CFLocaleCopyCurrent()),
kCFStringEncodingMacRoman);
setuid(0);
这en_US
为我输出。