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;
}

相关信息