C ++ mbtowc () - Biblioteca padrão C ++

A função mbtowc () em C ++ converte um caractere multibyte em um caractere largo.

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

protótipo mbtowc ()

 int mbtowc (wchar_t * pwc, const char * pmb, size_t max);

A função mbtowc () recebe três argumentos e retorna um valor inteiro. Esta função converte o caractere multibyte apontado por pmb em um caractere largo (valor do tipo wchar_t) e é armazenado no local da memória apontado por pwc.

Se pmb for um ponteiro nulo, uma chamada para mbtowc () redefinirá o estado de conversão global e determinará se as sequências de deslocamento são usadas.

Parâmetros mbtowc ()

  • pwc: ponteiro para o caractere largo resultante
  • pmb: ponteiro para o caractere multibyte que é convertido em caractere largo
  • max: tamanho máximo em bytes de pmb a considerar para o caractere multibyte.

mbtowc () Valor de retorno

Se pmb não for um ponteiro nulo, mbtowc () retornará:

  • o número de bytes contidos no caractere multibyte apontado por pmb.
  • -1 se o primeiro byte apontado por pmb não formar um caractere multibyte válido.
  • 0 se pmb estiver apontando para o caractere nulo de terminação, ou seja, ' 0'.

Se pmb for um ponteiro nulo, 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)
  • um valor diferente de zero se a codificação multibyte atual for dependente do estado (usa sequências de deslocamento).

Exemplo: Como funciona a função mbtowc ()?

 #include #include #include using namespace std; int main() ( char pmb() = "Welcome to Programiz.com"; wchar_t pwc(100); int len, ret_val; /* resets internal conversion state */ mbtowc (NULL, NULL, 0); len = strlen(pmb); ret_val = mbtowc(pwc, pmb, strlen(pmb)); cout << "Return Value = " << ret_val << endl; wcout << "Wide character string: " << pwc; return(0); )

Quando você executa o programa, uma possível saída será:

 Valor de retorno = 1 string de caracteres largos: W @

Artigos interessantes...