Exportar (0) Imprimir
Expandir todo
div
eof
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
Este tema aún no ha recibido ninguna valoración - Valorar este tema

_mbclen, mblen, _mblen_l

Obtiene la longitud y determina la validez de un carácter multibyte.

Nota importante Importante

Esta API no se puede usar en aplicaciones que se ejecutan en Windows en tiempo de ejecución. Para obtener más información, vea Funciones de CRT no admitidas con /ZW.

size_t _mbclen(
   const unsigned char *c 
);
int mblen(
   const char *mbstr,
   size_t count 
);
int _mblen_l(
   const char *mbstr,
   size_t count,
   _locale_t locale
);
c

Carácter multibyte.

mbstr

Dirección de una secuencia de bytes de caracteres multibyte.

count

Número de bytes que se va a comprobar.

locale

Configuración regional que se va a usar.

_mbclen devuelve 1 o 2, en función de que el carácter multibyte c tenga una longitud de 1 o 2 bytes. _mbclen no devuelve ningún error. Si mbstr no es NULL, mblen devuelve la longitud, en bytes, del carácter multibyte. Si mbstr es NULL o señala al carácter nulo de caracteres anchos, mblen devuelve 0. Si el objeto al que señala mbstr no forma un carácter multibyte válido en los primeros count caracteres, mblen devuelve –1.

La función _mbclen devuelve la longitud, en bytes, del carácter multibyte c. Si c no señala al byte inicial de un carácter multibyte determinado por una llamada implícita a _ismbblead, el resultado de _mbclen es imprevisible.

mblen devuelve la longitud en bytes de mbstr si es un carácter multibyte válido, y determina la validez del carácter multibyte asociada a la página de códigos. mblen examina count bytes o menos de mbstr, pero no más MB_CUR_MAX bytes.

El valor de salida se ve afectado por el valor de la categoría LC_CTYPE de la configuración regional; vea setlocale para obtener más información. Las versiones de estas funciones sin el sufijo _l usan la configuración regional actual de su comportamiento dependiente de la configuración regional; las versiones con el sufijo _l son idénticas salvo que usan el parámetro locale pasado en su lugar. Para obtener más información, vea Configuración regional.

Asignaciones de rutina de texto genérico

Rutina Tchar.h

_UNICODE y _MBCS no definidos

_MBCS definido

_UNICODE definido

_tclen

Se asigna a una macro o una función insertada

_mbclen

Se asigna a una macro o una función insertada

Rutina

Encabezado necesario

_mbclen

<mbstring.h>

mblen

<stdlib.h>

_mblen_l

<stdlib.h>

Para obtener más información sobre compatibilidad, vea Compatibilidad.

// crt_mblen.c
/* illustrates the behavior of the mblen function
 */

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

int main( void )
{
    int      i;
    char    *pmbc = (char *)malloc( sizeof( char ) );
    wchar_t  wc   = L'a';

    printf( "Convert 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 );

    i = mblen( pmbc, MB_CUR_MAX );
    printf( "Length in bytes of multibyte character %x: %u\n", *pmbc, i );

    pmbc = NULL;
    i = mblen( pmbc, MB_CUR_MAX );
    printf( "Length in bytes of NULL multibyte character %x: %u\n", pmbc, i );
}
Convert wide character to multibyte character:
  Characters converted: 1
  Multibyte character: 61

Length in bytes of multibyte character 61: 1
Length in bytes of NULL multibyte character 0: 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.

¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft. Reservados todos los derechos.