wcslocaleconv ()- 检索宽语言环境信息
格式
#include <locale.h>
struct wcslconv *wcslocaleconv(void);语言级别
扩展
线程安全
是
语言环境敏感
此函数的行为可能受当前语言环境的 LC_UNI_NUMERIC 和LC_UNI_货币类别的影响。 仅当在编译命令上指定了 LOCALETYPE (*LOCALEUCS2) 或 LOCALETYPE (*LOCALEUTF) 时,此功能才可用。 有关更多信息,请参阅 了解 CCSID 和语言环境。
宽字符函数
有关更多信息,请参阅 宽字符 。
描述
wcslocaleconv() 函数与 localeconv() 函数相同,只是它返回指向 wcslconv 结构的指针,该结构是 lconv 结构的宽版本。 这些元素由当前语言环境的LC_UNI_货币和 LC_UNI_NUMERIC 类别确定。
返回值
wcslocaleconv() 函数返回指向 wcslconv 结构的指针。
示例
此示例打印出法语语言环境的 Unicode 货币符号。
/************************************************************************
This example prints out the Unicode currency symbol for a French
locale. You first must create a Unicode French locale. You can do
this with this command:
CRTLOCALE LOCALE('/QSYS.LIB/MYLIB.LIB/LC_UNI_FR.LOCALE') +
SRCFILE('/QSYS.LIB/QSYSLOCALE.LIB/QLOCALESRC.FILE/ +
FR_FR.MBR') CCSID(13488)
Then you must compile your c program with LOCALETYPE(*LOCALEUCS2)
************************************************************************/
#include <stdio.h>
#include <locale.h>
int main(void) {
char * string;
struct wcslconv * mylocale;
if (NULL != (string = setlocale(LC_UNI_ALL,
"/QSYS.LIB/MYLIB.LIB/LC_UNI_FR.LOCALE"))) {
mylocale = wcslocaleconv();
/* Display the Unicode currency symbol in a French locale */
printf("French Unicode currency symbol is a %ls\n",
mylocale->currency_symbol);
} else {
printf("setlocale(LC_UNI_ALL, \"/QSYS.LIB/MYLIB.LIB/LC_UNI_FR.LOCALE\") \
returned <NULL>\n");
}
return 0;
}