Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
访问语言环境信息的最便携方式是什么?
我对时间区域设置数据感兴趣,例如月份名称、星期几名称、本地时间格式等。
理想情况下,我想要一个 POSIX 接口,但如果它不存在,glibc 特定的接口就可以了。
如果可能,获取有关语言环境 X 的信息不应该需要设置它(使用uselocale()或类似)。
uselocale()
strftime()使用各种参数多次调用被认为是 hack,而不是解决方案。
strftime()
如果没有更好的办法,如果有可靠的方法来确定它们的位置,我愿意考虑直接解析 glibc 的语言环境文件。
nl_langinfo是用于返回该信息的 POSIX 标准接口,并且似乎具有您正在寻找的所有东西。可悲的是,它确实要求您setlocale在调用它之前先调用它。我没有看到一个界面可以让您在不首先将其设为当前语言环境的情况下查询任意语言环境。
nl_langinfo
setlocale