_mbclen mblen, _mblen_l
Obtém o comprimento e determina a validade de um caractere de multibyte.
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
caractere de multibyte.mbstr
Endereço de uma sequência de caractere multibyte byte.count
Número de bytes para verificar.locale
Localidade usar.
Valor de retorno
_mbclen Retorna 1 ou 2, de acordo com se os caractere multibyte c é 1 ou 2 bytes longos. Não há nenhum retorno de erro de _mbclen. If mbstr não é NULL, mblen Retorna o comprimento, em bytes, de caractere multibyte. If mbstr é NULL ou ele aponta para o caractere nulo de caractere largo, mblen Retorna 0. Se o objeto que mbstr pontos a serem não formam um caractere válido multibyte dentro do primeiro count caracteres, mblen Retorna – 1.
Comentários
The _mbclen função retorna o tamanho, em bytes, de caractere multibyte c. If c não aponta para o byte inicial de um caractere multibyte sistema autônomo determinado por uma telefonar de implícita _ismbblead, o resultado de _mbclen é imprevisível.
mblen Retorna o comprimento em bytes do mbstr Se ele é um caractere válido multibyte e determina a validade de caracteres multibyte associada à página de código. mblen examina count ou menos bytes contidos em mbstr, mas não pode ser maior do que MB_CUR_MAX bytes.
O valor de saída é afetado pela configuração do LC_CTYPE categoria de configuração da localidade; consulte setlocale para obter mais informações.As versões dessas funções sem o _l sufixo use a localidade corrente para esse comportamento dependente de localidade; as versões com o _l sufixo são idênticas exceto que usarem o parâmetro de localidade passado em vez disso. Para obter mais informações, consulte Localidade.
Mapeamentos de rotina de texto genérica
Rotina tchar.h |
_UNICODE e _MBCS não definido |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tclen |
Mapas de macro ou função in-line |
_mbclen |
Mapas de macro ou função in-line |
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
_mbclen |
<mbstring.h> |
mblen |
<stdlib.h> |
_mblen_l |
<stdlib.h> |
Para obter mais informações de compatibilidade, consulte Compatibilidade na introdução.
Exemplo
// 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 );
}
Saída
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 do NET Framework
Não aplicável. Para telefonar a função C padrão, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.
Consulte também
Referência
Interpretação de seqüências de caractere multibyte
strlen, strlen_l, wcslen, wcslen_l, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l