Exportar (0) Imprimir
Expandir todo
and
div
eof
not
or
xor
Expandir Minimizar
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

mbtowc, _mbtowc_l

Convierte un carácter multibyte a un carácter ancho correspondiente.

int mbtowc(
   wchar_t *wchar,
   const char *mbchar,
   size_t count 
);
int _mbtowc_l(
   wchar_t *wchar,
   const char *mbchar,
   size_t count,
   _locale_t locale
);

wchar

Dirección de un carácter ancho (tipo wchar_t).

mbchar

Dirección de una secuencia de bytes (un carácter multibyte).

count

Número de bytes que se va a comprobar.

configuración regional

Configuración regional que se va a usar.

Si mbchar no es nulo y si el objeto que mbchar señala a los formularios un carácter válido multibyte, mbtowc devuelve la longitud en bytes de caracteres multibyte. Si mbchar es nulo o el objeto al que señala es un carácter null de caracteres anchos (L'\0), la función devuelve 0. Si el objeto que mbchar elija no forma un carácter válido multibyte dentro de los primeros caracteres de recuento , devuelve – 1.

La función de mbtowc convierte el recuento o menos bytes indicada por mbchar, si mbchar no es nulo, un carácter ancho correspondiente. mbtowc almacena el carácter ancho resultante en wchar, si es wchar no es nulo. mbtowc no examina más que los bytes de MB_CUR_MAX . mbtowc utiliza la configuración regional actual para el comportamiento configuración regional-dependiente; _mbtowc_l es idéntico pero utiliza la configuración regional pasado en su lugar. Para obtener más información, vea Configuración regional.

Rutina

Encabezado necesario

mbtowc

<stdlib.h>

_mbtowc_l

<stdlib.h>

Para obtener información adicional de compatibilidad, vea Compatibilidad en la Introducción.

Bibliotecas

Todas las versiones de las bibliotecas en tiempo de ejecución de C.

// crt_mbtowc.c
/* Illustrates the behavior of the mbtowc function
 */

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

int main( void )
{
    int      i;
    char    *pmbc    = (char *)malloc( sizeof( char ) );
    wchar_t  wc      = L'a';
    wchar_t *pwcnull = NULL;
    wchar_t *pwc     = (wchar_t *)malloc( sizeof( wchar_t ) );
    printf( "Convert a wide character to multibyte character:\n" );
    wctomb_s( &i, pmbc, sizeof(char), wc );
    printf( "  Characters converted: %u\n", i );
    printf( "  Multibyte character: %x\n\n", *pmbc );

    printf( "Convert multibyte character back to a wide "
            "character:\n" );
    i = mbtowc( pwc, pmbc, MB_CUR_MAX );
    printf( "  Bytes converted: %u\n", i );
    printf( "  Wide character: %x\n\n", *pwc );
    printf( "Attempt to convert when target is NULL\n" );
    printf( "  returns the length of the multibyte character:\n" );
    i = mbtowc( pwcnull, pmbc, MB_CUR_MAX );
    printf( "  Length of multibyte character: %u\n\n", i );

    printf( "Attempt to convert a NULL pointer to a" );
    printf( " wide character:\n" );
    pmbc = NULL;
    i = mbtowc( pwc, pmbc, MB_CUR_MAX );
    printf( "  Bytes converted: %u\n", i );
}

Convert a wide character to multibyte character:
  Characters converted: 1
  Multibyte character: 61

Convert multibyte character back to a wide character:
  Bytes converted: 1
  Wide character: 61

Attempt to convert when target is NULL
  returns the length of the multibyte character:
  Length of multibyte character: 1

Attempt to convert a NULL pointer to a wide character:
  Bytes converted: 0

No es aplicable Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft