C ++ mblen () - Biblioteca C ++ Padrão

A função mblen () em C ++ determina o tamanho (em bytes) de um caractere multibyte.

A função mblen () é definida no arquivo de cabeçalho.

protótipo mblen () (a partir do padrão C ++ 11)

 int mblen (const char * s, size_t max);

A função mblen () recebe dois argumentos s e max, e retorna um valor inteiro. O ponteiro s aponta para o primeiro byte de um caractere multibyte cujo tamanho é retornado pela função.

Parâmetros mblen ()

  • s: ponteiro para o primeiro byte de um caractere multibyte ou um ponteiro nulo.
  • max: Número máximo de bytes em s que podem ser examinados.

mblen () Valor de retorno

Se s for um ponteiro nulo, uma chamada para mblen () redefine seu estado de conversão interno para representar o estado de deslocamento inicial e retorna:

  • 0 se a codificação multibyte atual não for dependente do estado (não usa sequências de deslocamento).
  • valor diferente de zero se a codificação multibyte atual for dependente do estado (usa sequências de deslocamento).

Se s não for um ponteiro nulo, a função mblen () retornará:

  • o número de bytes contidos no caractere multibyte.
  • -1 se os primeiros bytes apontados por s não formarem um caractere multibyte válido.
  • 0 se s estiver apontando para o caractere nulo ' 0'.

Exemplo: Como a função mblen () funciona em C ++?

 #include #include #include using namespace std; int main() ( int len; char *s = (char *)malloc(20); strcpy(s,"xe4xbdxa0xe5xa5xbd"); /* resets the conversion state */ mblen(NULL, 0); len = mblen(s,strlen(s)); cout << "Length of multibyte character: " << len << endl; return 0; )

Quando você executa o programa, a saída será:

 Comprimento do caractere multibyte: 1

Artigos interessantes...