A função c32rtomb () em C ++ converte um caractere de 32 bits em representação em uma representação de caractere multibyte estreita.
A função c32rtomb () é definida no arquivo de cabeçalho.
protótipo c32rtomb ()
size_t c32rtomb (char * s, char32_t c32, mbstate_t * ps);
A função c32rtomb () converte o caractere utf-32 c32 em seu equivalente multibyte e o armazena no objeto apontado por s.
Se s representa um ponteiro nulo, a chamada é equivalente a c32rtomb (buf, U ' 0', ps) para algum buffer interno buf.
Se c32 é o caractere largo nulo, ou seja, U ' 0', um byte nulo é armazenado.
Parâmetros c32rtomb ()
- s: Ponteiro para uma matriz de caracteres onde o caractere multibyte está armazenado.
- c32: O caractere de 32 bits a ser convertido.
- ps: Um ponteiro para um objeto mbstate_t usado ao interpretar a string multibyte.
c32rtomb () Valor de retorno
- Em caso de sucesso, a função c32rtomb () retorna o número de bytes gravados na matriz de caracteres apontada por s.
- Em caso de falha, -1 é retornado e errno é definido como EILSEQ .
Exemplo: Como funciona a função c32rtomb ()?
#include #include using namespace std; int main() ( const char32_t str() = U"C++ is super fast."; char s(50); mbstate_t ps(); size_t length; int j = 0; while (str(j)) ( length = c32rtomb(s, str(j), &ps); if ((length == 0) || (length> 50)) break; for (int i=0; i
When you run the program, the output will be:
C++ is super fast.