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