Compartir a través de


_mbclen, mblen, _mblen_l

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

Nota importanteImportante

Esta API no se puede utilizar en las aplicaciones que se ejecutan en tiempo de ejecución de Windows.Para obtener más información, vea Funciones CRT no compatibles 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
);

Parámetros

  • c
    Carácter de Multibyte.

  • mbstr
    Dirección de una secuencia de bytes de multibyte- carácter.

  • count
    Número de bytes que se va a comprobar.

  • locale
    Configuración regional a utilizar.

Valor devuelto

_mbclen devuelve 1 ó 2, según si el carácter c multibyte es 1 o 2 bytes de longitud.No hay retorno de error para _mbclen.Si mbstr no es NULL, mblen devuelve la longitud, en bytes, de caracteres multibyte.Si mbstr es NULL o elija el carácter null de caracteres anchos, mblen devuelve 0.Si el objeto que mbstr elija no forma un carácter válido multibyte dentro de los primeros caracteres de count, mblen devuelve – 1.

Comentarios

La función de _mbclen devuelve la longitud, en bytes, de carácter c multibyte.Si c no indica el 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 válido multibyte y determina la validez del multibyte- carácter asociada a la página de códigos.mblen examina count o menos bytes contenidos en mbstr, pero no más de bytes de MB_CUR_MAX.

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

Asignaciones de la rutina de Genérico- texto

Rutina de Tchar.h

_UNICODE y _MBCS no definidos

_MBCS definido

_UNICODE definido

_tclen

Asigna a la macro o función inline

_mbclen

Asigna a la macro o función inline

Requisitos

Rutina

Encabezado necesario

_mbclen

<mbstring.h>

mblen

<stdlib.h>

_mblen_l

<stdlib.h>

Para obtener más información de compatibilidad, vea Compatibilidad en la Introducción.

Ejemplo

// 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 );
}

Output

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

Equivalente en .NET Framework

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

Vea también

Referencia

La clasificación de caracteres

Configuración regional

Interpretación de secuencias de Multibyte- Carácter

_mbccpy, _mbccpy_l

strlen, strlen_l, wcslen, wcslen_l, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l