
C库函数 int mbtowc(whcar_t *pwc, const char *str, size_t n)将一个多字节序列转换为宽字符。
以下是mbtowc()函数的声明。
int mbtowc(whcar_t *pwc, const char *str, size_t n)
参数如下:
-
pwc − 这是指向wchar_t类型对象的指针。
立即学习“C语言免费学习笔记(深入)”;
str − 这是指向多字节字符的第一个字节的指针。
str − 这是指向多字节字符的第一个字节的指针。
n − 这是要检查字符长度的最大字节数。
返回值如下:
如果str不为NULL,则mbtowc()函数返回从str开始消耗的字节数,如果s指向空字节,则返回0,如果失败则返回-1。
如果str为NULL,则mbtowc()函数返回非零值,表示编码具有非平凡的移位状态,如果编码是无状态的,则返回零。
示例
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main () {
char *str = "This is tutorialspoint.com";
wchar_t mb[100];
int len;
len = mblen(NULL, MB_CUR_MAX);
mbtowc(mb, str, len*strlen(str) );
wprintf(L"%ls </p><p>", mb );
return(0);
}输出
???











