新闻资讯
看你所看,想你所想

locale.h

locale.h

locale.h是C程式设计语言标準函式馆一个头档案,声明了C语言本地化函式。 这些函式用于在处理多种自然语言的软体编程设计时,把程式调整到特定的区域设定.。这些区域设定影响到C语言标準库的输入/输出函式。

介绍

locale.hC程式设计语言标準函式馆一个头档案,声明了C语言本地化函式. 这些函式用于在处理多种自然语言的软体编程设计时,把程式调整到特定的区域设定. 这些区域设定影响到C语言标準库的输入/输出函式.

所包含的函式

C语言本地化函式与数据类型定义在locale.h (clocale头档案用于C++)
Function
Description
setlocale
设定与读取当前C locale
localeconv
返回当前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;

相关推荐

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com