C 语言中的 mbtowc() 函数
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 tutorialspoint.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); }
输出
???
广告