我想获取有关当前语言环境的信息。我能找到的唯一界面是:
locale.h: extern struct lconv *localeconv (void);
但struct lconv
仅包含数字和财务区域设置信息。我还想获取 strftime 使用的时间相关信息。特别是日期名称和日期格式。
追踪locale abday
我找到了"/usr/lib/locale/locale-archive"
,但我找不到有关其格式的任何信息。
使用 nl_langinfo(3)
.来自 glibc 文档:
7.7 访问语言环境信息
。 为此,C库提供两个函数:localeconv 和 nl_langinfo。前者是ISO C的一部分,因此是便携式的,但脑部受损接口。第二个是Unix接口的一部分,可以移植在就系统遵循Unix标准而言。
• The Lame Way to Locale Data:ISO C 的 localeconv。
• 优雅而快速的方式:X/Open 的nl_langinfo。