以下是与系统语言环境相关的函数:
设置程序语言环境
查询已安装的语言环境
释放与 localelist() 调用关联的内存
localelist() 函数用于查询系统上安装的语言环境。有关如何在 Oracle Solaris 系统上安装其他语言环境的信息,请参见International Language Environments Guide for Oracle Solaris 11.2 。
有关更多信息,请参见 setlocale(3C)、localelist(3C)、localelistfree(3C)、locale_alias(5)、langinfo.h(3HEAD)、nl_types.h(3HEAD) 和 environ(5) 手册页。
示例 2-1 设置程序的语言环境以下代码片段说明如何将语言环境设置为 en_US.UTF-8。
#include <locale.h> : (void) setlocale(LC_ALL, "en_US.UTF-8");
以下代码片段说明如何查询当前语言环境。
#include <locale.h> : char *locale; : locale = setlocale(LC_ALL, NULL);
在此例中,locale 变量设置为程序的当前语言环境。
示例 2-3 使用用户环境中的语言环境设置以下代码片段说明如何设置 env_locale 变量以使用用户环境中的语言环境设置。
#include <locale.h> : char *env_locale; env_locale = setlocale(LC_ALL, "");
例如,如果用户环境中的语言环境为 es_ES.UTF-8,则 env_locale 变量将设置为 es_ES.UTF-8。
"/es_ES.UTF-8/es_ES.UTF-8/es_ES.UTF-8/es_ES.UTF-8/es_ES.UTF-8/de_DE.UTF-8"
此字符串包括类别 LC_CTYPE、LC_NUMERIC,LC_TIME、LC_COLLATE、LC_MONETARY 和 LC_MESSAGES,其中,LC_MESSAGES 在此环境中已设置为 de_DE.UTF-8。