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 类型对象的指针。
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 nhooo.com"; wchar_t mb[100]; int len; len = mblen(NULL, MB_CUR_MAX); mbtowc(mb, str, len*strlen(str) ); wprintf(L"%ls \n", mb ); return(0); }输出结果
???