locale.h

locale.h【locale.h】locale.h是C程式设计语言标準函式馆的一个头档案,声明了C语言本地化函式 。这些函式用于在处理多种自然语言的软体编程设计时,把程式调整到特定的区域设定. 。这些区域设定影响到C语言标準库的输入/输出函式 。
介绍locale.h是C程式设计语言标準函式馆的一个头档案,声明了C语言本地化函式. 这些函式用于在处理多种自然语言的软体编程设计时,把程式调整到特定的区域设定. 这些区域设定影响到C语言标準库的输入/输出函式.所包含的函式C语言本地化函式与数据类型定义在locale.h (clocale头档案用于C++)FunctionDescriptionsetlocale设定与读取当前C localelocaleconv返回当前locale的货币与数值的格式细节批评C语言标準中定义的区域设定函式的最大问题是,区域设定状态是全局的 。这意味着一个程式在一个时刻只能有一个locale设定 。实现程式同时具有多个locale是非常困难的 。Visual C++运行时刻库定义了函式_configthreadlocale,可以打开或者关闭执行绪相关区域设定(thread-specific locale) 。另外一个运行时刻库函式_setmbcp,线上程中创建限于本执行绪使用的区域设定数据结构 。此后,就可以在该执行绪使用setlocale标準库函式了 。但此种方法仅限于Windows平台 。例子#include <stdio.h>#include <stdlib.h>#include <locale.h>int main(void){/* Locale is set to "C" before this. This call sets it to the "current locale" by reading environment variables: */setlocale(LC_ALL, "");conststruct lconv *const currentlocale = localeconv();printf("In the current locale, the default currency symbol is: %s\n", currentlocale->currency_symbol);returnEXIT_SUCCESS;