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); }

输出

???

更新于: 30-7-2019

59 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始吧
广告