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

A função c16rtomb () em C ++ converte a representação de caracteres de 16 bits em uma representação de caracteres multibyte estreita.

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

Protótipo c16rtomb ()

 size_t c16rtomb (char * s, char16_t c16, mbstate_t * ps);

A função c16rtomb () converte o caractere utf-16 c16 em seu equivalente multibyte e o armazena no objeto apontado por s.

Se s representa um ponteiro nulo, a chamada é equivalente a c16rtomb (buf, u ' 0', ps) para algum buffer interno buf.

Se c16 for o caractere largo nulo, ou seja, u ' 0', um byte nulo é armazenado.

Parâmetros c16rtomb ()

  • s: Ponteiro para uma matriz de caracteres onde o caractere multibyte deve ser armazenado.
  • c16: O caractere de 16 bits a ser convertido.
  • ps: Um ponteiro para um objeto mbstate_t usado ao interpretar a string multibyte.

c16rtomb () Valor de retorno

  • Em caso de sucesso, a função c16rtomb () retorna o número de bytes gravados na matriz de caracteres apontada por s.
  • Em caso de falha, -1 é retornado e EILSEQ é armazenado em errno.

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

 #include #include using namespace std; int main() ( const char16_t str() = u"Hello World!"; char s(50); mbstate_t ps(); size_t length; int j = 0; while (str(j)) ( length = c16rtomb(s, str(j), &ps); if ((length == 0) || (length> 50)) break; for (int i=0; i 

When you run the program, the output will be:

 Hello World!

Artigos interessantes...