C++ 中的wcstombs() 函数将宽字符串转换为等效的多字节序列。
wcstombs() 函数在<cstdlib> 头文件中定义。
wcstombs()原型
size_t wcstombs (char* dest, const wchar_t* src, size_t max);
wcstombs() 函数接受三个参数并返回一个整数值。
此函数将其第一个元素由src
指向的宽字符串转换为其多字节表示。
结果存储在 dest
指向的内存位置。参数 max 表示要转换的最大宽字符数。
转换机制与 wctomb 相同,只是 wctomb 转换状态不受影响。如果出现以下情况,转换将停止:
- 遇到空字符,然后将其转换并存储。
- 发现一个 wchar_t 与当前 C 语言环境中的有效字符不对应。
- 已转换最大宽字符数。
参数:
dest
:指向生成的多字节字符数组的指针。src
:指向转换为多字节字符的宽字符的第一个元素的指针。max
:要转换的最大宽字符数。
返回:
- 如果转换成功,wcstombs() 返回多字节字符数,不包括写入目标数组的终止字符(即'\0')。
- 如果在转换过程中发生任何错误,则返回 -1。
示例:wcstombs() 函数如何工作?
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
wchar_t src[] = L"Welcome To Programiz.com";
char dest[50];
int num;
num = wcstombs(dest, src, 50);
cout << "Number of wide character converted = " << num << endl;
cout << "Multibyte Character String = " << dest << endl;
return 0;
}
运行程序时,可能的输出将是:
Number of wide character converted = 24 Multibyte Character String = Welcome To Programiz.com
相关用法
- C++ wcstombs()用法及代码示例
- C++ wcstold()用法及代码示例
- C++ wcstod()用法及代码示例
- C++ wcstok()用法及代码示例
- C++ wcstof()用法及代码示例
- C++ wcstol()用法及代码示例
- C++ wcstoull()用法及代码示例
- C++ wcstoll()用法及代码示例
- C++ wcstoul()用法及代码示例
- C++ wcsftime()用法及代码示例
- C++ wcscspn()用法及代码示例
- C++ wcsncmp()用法及代码示例
- C++ wcsstr()用法及代码示例
- C++ wcsrchr()用法及代码示例
- C++ wcsncpy()用法及代码示例
- C++ wcslen()用法及代码示例
- C++ wcsspn()用法及代码示例
- C++ wcschr()用法及代码示例
- C++ wcspbrk()用法及代码示例
- C++ wcscat()用法及代码示例
注:本文由纯净天空筛选整理自 C++ wcstombs()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。