English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico de linguagem C

Controle de fluxo de linguagem C

Funções do C

Matrizes do C

Ponteiros do C

Strings do C

Estrutura de linguagem C

Arquivo de linguagem C

Outro C

Manual de referência do C

Uso e exemplo da função mblen() da biblioteca C

Biblioteca Padrão do C - <stdlib.h>

Função da biblioteca C int mblen(const char *str, size_t n) Retorna o parâmetro str A largura do caractere de múltiplos bytes apontado.

Declaração

A seguir está a declaração da função mblen().

int mblen(const char *str, size_t n)

Parâmetro

  • str -- Ponteiro para o primeiro byte do caractere de múltiplos bytes.
  • n -- O número máximo de bytes da largura do caractere a verificar.

Retorno

Se um caractere amplo não vazio for reconhecido, a função mblen() retorna o número de bytes da sequência de múltiplos bytes iniciada por str. Se um caractere amplo vazio for reconhecido, retorna 0. Se uma sequência de múltiplos bytes inválida for reconhecida ou não puder ser analisada um caractere de múltiplos bytes completo, retorna -1。

Exemplo online

A seguir, é demonstrado o uso da função mblen().

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
   int len;
   char *pmbnull = NULL;
   char *pmb = (char *)malloc( MB_CUR_MAX );
   wchar_t *pwc = L"Hi";
   wchar_t *wchar_t *)malloc( sizeof( wchar_t ));
   printf("Conversão para string de múltiplos bytes\n");
   len = wcstombs( pmb, pwc, MB_CUR_MAX);
   printf("Caractere convertido: %d\n", len);
   printf("Valor hexadecimal do primeiro caractere de múltiplos bytes: %#.4x\n", pmb);
   len = mblen( pmb, MB_CUR_MAX );
   printf( "Caracter de múltiplos bytes %x com comprimento de bytes: 睵n", pmb, len );
   pmb = NULL;
   len = mblen( pmb, MB_CUR_MAX );
   printf( "Caracter de múltiplos bytes %x com comprimento de bytes: 睵n", pmb, len );
   return(0);
}

Vamos compilar e executar o programa acima, o que produzirá o seguinte resultado:

Conversão para String de Múltiplos Bytes
Caractere Convertido 1
Valor Hexadecimal do Primeiro Caractere de Múltiplos Bytes: 0x168c6010
Caractere de Múltiplos Bytes 168c6010 Comprimento de Bytes do Caractere:1
Comprimento de Bytes do Caractere de Múltiplos Bytes 0: 0

Biblioteca Padrão do C - <stdlib.h>