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

wcstombs() - C语言库函数

C库函数size_t wcstombs(char *str, const wchar_t *pwcs, size_t n) 将宽字符的字符串pwcs,由str开始的多字节字符串。最多n个字节写入到 str。

声明

以下是 wcstombs() 函数的声明。

size_t wcstombs(char *str, const wchar_t *pwcs, size_t n)

参数

  • str -- 这是一个至少有n个字节长的字符元素的数组的指针。

  • pwcs -- 这是宽规律研究要转换的字符串。

  • n -- 这是最大数量的字节被写入到str。

返回值

这个函数返回的字节数(而不是字符)转换并写入到str,不包括空字符结束。如果遇到无效的多字节字符,返回值-1。

例子

下面的例子演示了如何使用wcstombs() 函数。

#include <stdio.h>
#include <stdlib.h>

#define BUFFER_SIZE 50

int main()
{
   size_t ret;
   char *MB = (char *)malloc( BUFFER_SIZE );
   wchar_t *WC = L"http://www.gitbook.net/html";

   /* converting wide-character string */
   ret = wcstombs(MB, WC, BUFFER_SIZE);
   
   printf("Characters converted = %u
", ret);
   printf("Multibyte character = %s

", MB);
   
   return(0);
}

让我们编译和运行上面的程序,这将产生以下结果:

Characters converted = 29
Multibyte character = http://www.gitbook.net/html