赞
踩
在定义宽字符或宽字符串时使用前缀 L 标识即可,例如:
- wchar_t ch = L'你';
- wchar_t str[128] = L"你好";
#include <locale.h>
- typedef struct {
- char *decimal_point; //用于非货币值的小数点字符
- char *thousands_sep; //用于非货币值的千位分隔符
- char *grouping; //一个表示非货币量中每组数字大小的字符串。
- char *int_curr_symbol; //国际货币符号使用的字符串。
- char *currency_symbol; //用于货币的本地符号
- char *mon_decimal_point; //用于货币值的小数点字符。
- char *mon_thousands_sep; //用于货币值的千位分隔符
- char *mon_grouping; //用于货币值的千位分隔符
- char *positive_sign; //用于正货币值的字符
- char *negative_sign; //用于负货币值的字符
- char int_frac_digits; //国际货币值中小数点后要显示的位数
- char frac_digits; //货币值中小数点后要显示的位数
- char p_cs_precedes; //如果等于 1,则 currency_symbol 出现在正货币
- 值之前。如果等于 0,则 currency_symbol 出现在正货币值之后。
- char p_sep_by_space; //如果等于 1,则 currency_symbol 和正货币值
- 之间使用空格分隔。如果等于 0,则 currency_symbol 和正货币值之间不使用
- 空格分隔。
- char n_cs_precedes; //如果等于 1,则 currency_symbol 出现在负货币
- 值之前。如果等于 0,则 currency_symbol 出现在负货币值之后。
- char n_sep_by_space; //如果等于 1,则 currency_symbol 和负货币值
- 之间使用空格分隔。如果等于 0,则 currency_symbol 和负货币值之间不使用
- 空格分隔。
- char p_sign_posn; //表示正货币值中正号的位置。
- char n_sign_posn; //表示负货币值中负号的位置。
- } lconv
char *setlocale(int category, const char *locale)
locale: 用来设置地域设置的名称(字符串),也就是设置为哪种地域,对于不同的平台和不同的 编译器,地域设置的名称可能会不同,C 语言标准没有干预太多。C 语言标准只是规定,各个组织在实现编译器时至少要支持以下三个名称
- int main (int argc, char *argv[])
- {
- char *p = setlocale(LC_ALL, NULL);
- printf("%s\n", p);
- }
struct lconv *localeconv(void)
- int main ()
- {
- struct lconv * lc;
- setlocale(LC_MONETARY, "C");
- lc = localeconv();
- printf ("当地的货币符号: %s\n",lc->currency_symbol);
- printf ("国际货币符号: %s\n",lc->int_curr_symbol);
- setlocale(LC_MONETARY, "");
- lc = localeconv();
- printf ("当地的货币符号: %s\n",lc->currency_symbol);
- printf ("国际货币符号: %s\n",lc->int_curr_symbol);
- printf("小数点 = %s\n", lc->decimal_point);
- return 0;
- }
#include <wchar.h>
size_t wcslen(const wchar_t *s);
- int main ()
- {
- wchar_t str[128] = L"你好 word";
- printf("%ld\n",wcslen(str));
- return 0;
- }
#include <wchar.h>#include <stdio.h>
int wprintf(const wchar_t *format, ...);
- int main ()
- {
- wchar_t ch = L'0';
- setlocale(LC_ALL, "");
- wchar_t str[128] = L"你好 word";
- int t = wprintf(L"nihao=%ls\n",str);
- wprintf(L"%d,%lc,%d\n",t,ch,ch);
- return 0;
- }
#include <wchar.h>#include <stdio.h>
int wscanf(const wchar_t *format, ...);
- int main ()
- {
- wchar_t ch = L'0';
- setlocale(LC_ALL, "");
- wchar_t str[128];
- wscanf(L"%ls",str);
- int t = wprintf(L"nihao=%ls\n",str);
- wprintf(L"%d,%lc,%d\n",t,ch,ch);
- wscanf(L"%d",&t);
- wprintf(L"%d\n",t);
- return 0;
- }
#include <wchar.h>
int wcscmp(const wchar_t *s1, const wchar_t *s2);
#include <wchar.h>
wchar_t *wcscpy(wchar_t *dest, const wchar_t *src);
#include <wchar.h>
wchar_t *wcscat(wchar_t *dest, const wchar_t *src);
#include <wchar.h>
wchar_t *wcsstr(const wchar_t *haystack, const wchar_t *needle);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。