当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C语言 wcstombs用法及代码示例


C语言stdlib头文件(stdlib.h)中wcstombs函数的用法及代码示例。

用法:

size_t wcstombs (char* dest, const wchar_t* src, size_t max);
将宽字符字符串转换为多字节字符串
翻译由指向的序列中的宽字符src到多字节等效序列(存储在由指向的数组中)dest),直到其中一个max字节已翻译或直到宽字符翻译为空字符

如果max字节已成功转换,结果字符串存储在dest不是以Null结尾的。

产生的多字节序列以初始移位状态(如果有)开始。

此函数的行为取决于LC_CTYPE所选类别C语言环境

参数

dest
指向数组的指针char足够长以包含结果序列的元素(最多,max个字节)。
src
要转换的C宽字符串。
max
要写入的最大字节数dest
size_t是无符号整数类型。

返回值

写入的字节数dest,不包括最终的结尾null-character。
如果遇到与有效的多字节字符不对应的宽字符,则(size_t)-1返回值。
注意size_t是无符号整数类型,因此可能返回的值都不小于零。

示例

/* wcstombs example */
#include <stdio.h>      /* printf */
#include <stdlib.h>     /* wcstombs, wchar_t(C) */

int main() {
  const wchar_t str[] = L"wcstombs example";
  char buffer[32];
  int ret;

  printf ("wchar_t string: %ls \n",str);

  ret = wcstombs ( buffer, str, sizeof(buffer) );
  if (ret==32) buffer[31]='\0';
  if (ret) printf ("multibyte string: %s \n",buffer);

  return 0;
}


输出:

wchar_t string: wcstombs example 
multibyte string:  wcstombs example 



相关用法


注:本文由纯净天空筛选整理自C标准库大神的英文原创作品 C wcstombs function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。