C / stdlib.h / mbtowc
abort, abs, atexit, atof, atoi, atol, bsearch, calloc, div, exit, free, getenv, labs, ldiv, malloc, mble, mbstowcs, » mbtowc, qsort, rand, realloc, srand, strtod, strtol, strtoul, system, wctomb,
Funcion: mbtowc()
Sintaxis:
int mbtowc(wchar_t *wcharPtr, const char *cad, size_t n);

Descripcion: Si cad no es un puntero nulo, la función mbtowc determina el número de bytes contenidos en el carácter multibyte apuntado por cad. Entonces determina el código para el valor del tipo wchar_t que corresponde a un carácter multibyte. (El valor del código correspondiendo al carácter nulo es cero). Si el car0cter multibyte es válido y wcharPtr no es un puntero nulo, la función mbtowc guarda el código en el objeto apuntado por wcharPtr. Al menos n bytes del array apuntado por cad serán examinados.


Ejemplo:
/* Ejemplo sacado de la ayuda de Borland */
 
#include <stdlib.h>
#include <stdio.h>
 
int main()
{
  int     x;
  char     *mbchar    = (char *)calloc(1, sizeof( char));
  wchar_t  wchar      = L'a';
  wchar_t  *pwcnull   = NULL;
  wchar_t  *pwchar    = (wchar_t *)calloc(1,  sizeof( wchar_t ));
 
  printf( "Convertir un car&aacute;cter ancho a un car&aacute;cter multibyte:\n" );
  x = wctomb( mbchar, wchar);
  printf( "\tCaracteres convertidos: %u\n", x );
  printf( "\tCar&aacute;cter multibyte: %x\n\n", mbchar );
 
  printf( "Tama&#0241;o del car&aacute;cter multibyte (seg&uacute;n mblen): %u\n", mblen(mbchar, MB_CUR_MAX) );
  printf( "Convertir car&aacute;cter multibyte de nuevo a un car&aacute;cter ancho:\n" );
 
  x = mbtowc( pwchar, mbchar, MB_CUR_MAX );
  printf( "\tBytes convertidos: %u\n", x );
  printf( "\tCar&aacute;cter ancho: %x\n\n", pwchar );
 
  printf( "Intentar convertir cuando el destinatario es nulo (NULL)\n" );
  printf( " retorna la longitud del car&aacute;cter multibyte: " );
  x = mbtowc( pwcnull, mbchar, MB_CUR_MAX );
  printf( "%u\n\n", x );
 
  printf( "Intenta convertir un puntero nulo (NULL) a un" );
  printf( " car&aacute;cter ancho:\n" );
  mbchar = NULL;
  x = mbtowc( pwchar, mbchar, MB_CUR_MAX );
 
  printf( "\tBytes convertidos: %u\n", x );
 
  return 0;
}

Librerias C

Librerias ANSI C
   string.hcstring
   math.hcmath
   stdio.hcstdio
   time.hctime
   stdlib.hcstdlib
   ctype.hcctype
   locale.hclocale
   signal.hcsignal
   setjmp.hcsetjmp

Librerias Borland
   conio.h
   graphics.h