C 语言标准库函数 - mbtowc()

返回上一级

C 语言标准库 <stdlib.h> 函数 int mbtowc(whcar_t pwc, const char str, size_t n) 把一个多字节序列转换为一个宽字符

头文件

#include <stdlib.h>

函数原型

下面是 mbtowc() 函数的原型

int mbtowc(whcar_t *pwc, const char *str, size_t n)

参数

  • pwc : 指向类型为 wchar_t 对象的指针
  • str : 指向多字节字符的第一个字节的指针
  • n : 要被检查的最大字节数

返回值

  • 如果 str 不为 NULL,mbtowc() 函数返回 str 开始消耗的字节数,如果指向一个空字节,则返回 0,如果操作失败,则返回 -1。
  • 如果 str 为 NULL,如果编码具有移位状态,则 mbtowc() 函数返回非零,如果编码是无状态的,则返回零。

范例

下面的范例演示了 mbtowc() 函数的用法

/**
 * file: main.c
 * author: 简单教程(www.twle.cn)
 *
 * Copyright © 2015-2065 www.twle.cn. All rights reserved.
 */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>
#include <wchar.h>

int main()
{
   char *str = L"这里是 www.twle.cn";
   wchar_t mb[100];
   int len;

   len = mblen(NULL, MB_CUR_MAX); 

   mbtowc(mb, str, len*strlen(str) );

   setlocale(LC_ALL, "zh_CN.UTF-8"); 
   wprintf(L"%s/n", mb );   

   return(0);
}

输出结果如下

$ gcc main.c && ./a.out

返回上一级

C 语言标准库

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.