📅  最后修改于: 2023-12-03 15:29:41.690000             🧑  作者: Mango
wcsrtombs()函数是C/C++标准库中的一种转换函数。它的主要功能是将宽字符串(wide character string)转换成多字节字符串(multibyte string)。
函数原型:size_t wcsrtombs(char *dest, const wchar_t **src, size_t len, mbstate_t *state);
参数说明:
返回值:
#include <stdio.h>
#include <wchar.h>
#include <locale.h>
int main(void)
{
wchar_t *wstr = L"Hello, 世界";
char mbs[32];
mbstate_t state = mbstate_t();
setlocale(LC_ALL, "");
size_t n = wcsrtombs(mbs, (const wchar_t **)&wstr, sizeof(mbs), &state);
if (n == (size_t)-1)
{
perror("wcsrtombs");
return 1;
}
printf("Converted %zu bytes: '%s'\n", n, mbs);
return 0;
}
代码说明:
输出结果:
Converted 16 bytes: 'Hello, 世界'