访问区域设置信息

时间:2013-01-06 00:17:29

标签: c posix locale glibc

访问区域设置信息的最便携方式是什么?

我对时间区域设置数据感兴趣,例如月份名称,星期几,当地时间格式等。

理想情况下,我想要一个POSIX接口,但是如果它不存在,那就特定于glibc接口。

如果可能,获取有关语言环境X的信息不应该要求设置(使用uselocale()或类似)。

使用各种参数多次调用strftime()被视为黑客,而不是解决方案。

如果没有什么比这更好的话,我愿意考虑直接解析glibc的语言环境文件,如果有可靠的方法来确定它们的位置。

1 个答案:

答案 0 :(得分:1)

nl_langinfo是一个POSIX标准界面,用于返回该信息,并且似乎可以提供您正在寻找的所有内容。可悲的是,它确实需要您在调用之前调用setlocale。我没有看到一个界面,它允许您在不首先使其成为当前区域设置的情况下查询任意区域设置。