C语言 <stdlib.h> wcstombs 函数

  • 描述

    C库函数size_t wcstombs(char *str, const wchar_t *pwcs, size_t n)将多字节序列转换为宽字符。
  • 声明

    以下是wcstombsom函数的声明。
    
    size_t wcstombs(char *str, const wchar_t *pwcs, size_t n)
    
    参数
    • str-这是指向至少n个字节长的char元素数组的指针。
    • pwcs-这是要转换的宽字符字符串。
    • n-这是要写入str的最大字节数。
  • 返回值

    此函数返回转换并写入str的字节数(不是字符),不包括结尾的空字符。如果遇到无效的多字节字符,则返回-1值。
    示例
    以下示例显示wcstombsom函数的用法-
    
    #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.cainiaoya.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.cainiaoya.com