1. 编程学习网 > 编程教程 > C语言教程 > 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,如果操作失败,则返回 -1。
  • 如果 str 为 NULL,如果编码具有移位状态,则 mbtowc() 函数返回非零,如果编码是无状态的,则返回零。

实例

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

#include 
#include 
void printbuffer (const char* pt, size_t max)
{
  int length;
  wchar_t dest;
  mbtowc (NULL, NULL, 0);
  while (max>0) {
    length = mbtowc(&dest,pt,max);
    if (length<1) break;
    printf ("%lc",dest);
    pt+=length; max-=length;
  }
}
int main()
{
  const char str [] = "itjx example";
  printbuffer (str,sizeof(str));
  return 0;
}

让我们编译并运行上面的程序,这将产生以下结果,因为它要以多字节形式输出结果,这是一种二进制输出。

itjx example

C语言标准库 -

本文由IT教学网整理发布,转载请注明出处:http://www.clang.cc//jiaocheng/cyuyan/1384.html

联系我们

在线咨询:点击这里给我发消息

咨询电话:400-998-2681

工作时间:7*24小时无休