Función de biblioteca C - mbtowc ()

Descripción

La función de la biblioteca C int mbtowc(whcar_t *pwc, const char *str, size_t n) convierte una secuencia multibyte en un carácter ancho.

Declaración

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

int mbtowc(whcar_t *pwc, const char *str, size_t n)

Parámetros

  • pwc - Este es el puntero a un objeto de tipo wchar_t.

  • str - Este es el puntero al primer byte de un carácter multibyte.

  • n - Este es el número máximo de bytes que se deben verificar para la longitud de los caracteres.

Valor devuelto

  • Si str no es NULL, la función mbtowc () devuelve el número de bytes consumidos comenzando en str, o 0 si s apunta a un byte nulo, o -1 en caso de falla.

  • Si str es NULL, la función mbtowc () devuelve un valor distinto de cero si la codificación tiene un estado de cambio no trivial, o cero si la codificación no tiene estado.

Ejemplo

El siguiente ejemplo muestra el uso de la función mbtowc ().

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main () {
   char *str = "This is tutorialspoint.com";
   wchar_t mb[100];
   int len;
   
   len = mblen(NULL, MB_CUR_MAX); 

   mbtowc(mb, str, len*strlen(str) );
   
   wprintf(L"%ls \n", mb );   
   
   return(0);
}

Compilemos y ejecutemos el programa anterior que producirá el siguiente resultado que estará en varios bytes, una especie de salida binaria.

???