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 -- 这是多字节字符的第一个字节的指针。
-
n -- 这是要检查的字符长度的最大数目的字节。
返回值
-
如果str不为NULL,mbtowc() 函数返回str开始,消耗的字节数或0如果s指向空字节,或-1时失败。
-
如果str为NULL,则mbtowc()函数返回非零如果编码不平凡的转变状态,或者为零,如果编码是无状态的。
例子
下面的例子演示了如何使用 mbtowc() 函数。
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char *str = "This is yiibai.com"; wchar_t mb[100]; int len; len = mblen(NULL, MB_CUR_MAX); mbtowc(mb, str, len*strlen(str) ); wprintf(L"%ls ", mb ); return(0); }
让我们编译和运行上面的程序,不会给你显示,因为它已被打印在多字节的二进制输出,一种产生以下结果。
???