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

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

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

protótipo wctomb ()

 int wctomb (char * pmb, wchar_t wc);

A função wctomb () recebe dois argumentos e retorna um valor inteiro. Esta função converte o caractere largo representado por wc em seu equivalente multibyte e é armazenado no local da memória apontado por pmb. O número máximo de caracteres que podem ser armazenados é MB_CUR_MAX .

Se wc for o caractere nulo, o byte nulo será gravado em pmb.

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

Parâmetros wctomb ()

  • pmb: ponteiro para o caractere multibyte resultante
  • wc: caractere largo que é convertido em caractere multibyte

wctomb () Valor de retorno

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

  • o número de bytes contidos na representação multibyte de wc.
  • -1 se wc não for um caractere válido.

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 wctomb ()?

 #include #include using namespace std; int main() ( wchar_t wc = L'x'; char *pmb1 = (char*)malloc(sizeof(char)); char *pmb2 = NULL; int ret_val; cout << "When pmb is not null" << endl; ret_val = wctomb(pmb1, wc); cout << "Return Value = " << ret_val << endl; wcout << "Multibyte Character: " << pmb1 << endl << endl; cout << "When pmb is null" << endl; ret_val = wctomb(pmb2, wc); cout << "Return Value = " << ret_val << endl; wcout << "Multibyte Character: " << pmb2; return(0); )

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

 Quando pmb não é nulo Return Value = 1 Multibyte Character: x↨R Quando pmb é null Return Value = 0 Multibyte Character:

Artigos interessantes...