当前位置: 首页 > 文档资料 > C 标准库 中文版 >

size

优质
小牛编辑
124浏览
2023-12-01

描述 (Description)

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

声明 (Declaration)

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

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

参数 (Parameters)

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

  • pwcs - 这是要转换的宽字符串。

  • n - 这是要写入str的最大字节数。

返回值 (Return Value)

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

例子 (Example)

以下示例显示了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.iowiki.com";
   /* converting wide-character string */
   ret = wcstombs(MB, WC, BUFFER_SIZE);
   printf("Characters converted = %u\n", ret);
   printf("Multibyte character = %s\n\n", MB);
   return(0);
}

让我们编译并运行上面的程序,它将产生以下结果 -

Characters converted = 29
Multibyte character = http://www.iowiki.com