_mbclen, mblen, _mblen_l
Obtiene la longitud y determina la validez de un carácter multibyte.
Importante |
---|
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
Interpretación de secuencias de Multibyte- Carácter
strlen, strlen_l, wcslen, wcslen_l, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l