📄 16-2.c
字号:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
char *string = "测试locale的软件!";
void main()
{
int i, l, length;
char *ptr;
char cbuf[128];
wchar_t wcbuf[128];
. setlocale(LC_ALL, "");
/* MB_CUR_MAX check */
printf("MB_CUR_MAX %d\n", MB_CUR_MAX);
length = strlen(string);
printf("string %s, length %d\n", string, length);
/* mbstowcs() */
l = mbstowcs(wcbuf, string, 128);
printf("mbstowcs() → num %d,", l);
for (i = 0; i < l; i++) {
printf(" %x", wcbuf[i]);
}
printf("\n");
/* wcstombs() */
l = wcstombs(cbuf, wcbuf, 128);
printf("wcstombs() → length %d, %s\n", l, cbuf);
/* mblen() check */
for (ptr = string; *ptr; ) {
l = mblen(ptr, length);
mbtowc(wcbuf, ptr, length);
printf("ptr %s, mblen %d, wchar %x\n", ptr, l, wcbuf[0]);
if (l <= 0) {
break;
}
ptr += l;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -