Función de biblioteca C - wcstombs ()

Descripción

La función de la biblioteca C size_t wcstombs(char *str, const wchar_t *pwcs, size_t n) convierte la cadena de caracteres anchos pwcs a una cadena multibyte que comienza en str. A lo sumon los bytes se escriben en str.

Declaración

A continuación se muestra la declaración de la función wcstombs ().

size_t wcstombs(char *str, const wchar_t *pwcs, size_t n)

Parámetros

  • str - Este es el puntero a una matriz de elementos char de al menos n bytes de longitud.

  • pwcs - Esta es una cadena de caracteres anchos que se va a convertir.

  • n - Este es el número máximo de bytes que se escribirán en str.

Valor devuelto

Esta función devuelve el número de bytes (no caracteres) convertidos y escritos en str, excluyendo el carácter nulo final. Si se encuentra un carácter multibyte no válido, se devuelve el valor -1.

Ejemplo

El siguiente ejemplo muestra el uso de la función 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.tutorialspoint.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);
}

Compilemos y ejecutemos el programa anterior que producirá el siguiente resultado:

Characters converted = 29
Multibyte character = http://www.tutorialspoint.com