size
优质
小牛编辑
129浏览
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