如何通过api获取扩展的语言环境信息

时间:2016-07-17 12:20:06

标签: c linux locale strftime

我想获得有关当前区域设置的信息。 我能找到的唯一界面是:

locale.h: extern struct lconv *localeconv (void);

struct lconv仅包含数字和财务区域设置信息。我还想获得strftime使用的时间相关信息。特别是日期和日期格式的名称。

跟踪locale abday我找到"/usr/lib/locale/locale-archive"但我找不到有关其格式的任何信息。

1 个答案:

答案 0 :(得分:1)

使用nl_langinfo(3)。来自glibc docs

  

7.7访问区域设置信息

     

...要做到这一点C   库提供两个功能: localeconv nl_langinfo 。前者   是ISO C的一部分,因此便携,但有脑损伤   接口。第二个是Unix接口的一部分,可移植   只要系统遵循Unix标准。

     

The Lame Way to Locale Data:ISO C的localeconv。

     

The Elegant and Fast Way:X / Open的nl_langinfo。