头文件

<clocale> (locale.h)

C 国际化库
C 语言支持国际化特定设置,例如特定文化的日期格式或特定国家的货币符号。

每个系统和特定的编译器实现都可能提供不同的 locale 可供选择(使用函数 setlocale),但对于任何 C 程序,至少有两个 locale 可供选择。
  • "C" locale 是最小的 locale。它是一个相当中性的 locale,在所有系统和编译器上具有相同的设置,因此使用此 locale 的程序的精确结果是可预测的。这是所有 C 程序默认使用的 locale。
  • 系统的默认 locale(由空 C 字符串指定"")。它是应用程序运行的环境提供的 locale 配置。这通常比 "C" locale 包含更多的国际化信息。

此头文件声明了结构 lconv 和函数 setlocalelocaleconv 以及一些可与之一起使用的宏。这些用于定义 locale 特定信息。

请注意,locale 配置会影响标准 C 库中许多函数的行为。
  • <cstring> (<string.h>) 中,函数 strcollstrxfrm 受字符转换规则的影响。
  • <cctype> (<ctype.h>) 中,除了 isdigitisxdigit 之外的所有函数都受选定的扩展字符集的影响。
  • <cstdio> (<stdio.h>) 中,格式化输入/输出操作受字符转换规则和数字格式设置中的小数点字符集的影响。
  • <ctime> (<time.h>) 中,函数 strftime 受时间格式设置的影响。
  • 在此头文件中,它会影响其函数 setlocalelocaleconv 的返回值。

一些 locale 信息也提供给程序,以更好地以 locale 感知的方式渲染其输出(localeconv)。


函数