位置:首页 > 高级语言 > C语言标准库 > mbtowc() - C语言库函数

mbtowc() - C语言库函数

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 gitbook.net";
   wchar_t mb[100];
   int len;
   
   len = mblen(NULL, MB_CUR_MAX); 

   mbtowc(mb, str, len*strlen(str) );
   
   wprintf(L"%ls 
", mb );   
   
   return(0);
}

让我们编译和运行上面的程序,不会给你显示,因为它已被打印在多字节的二进制输出,一种产生以下结果。

???