C ++ c16rtomb () - Biblioteca estándar de C ++

La función c16rtomb () en C ++ convierte la representación de caracteres de 16 bits en una representación de caracteres multibyte estrecha.

La función c16rtomb () se define en el archivo de encabezado.

c16rtomb () Prototipo

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

La función c16rtomb () convierte el carácter utf-16 c16 en su equivalente multibyte y lo almacena en el objeto al que apunta s.

Si s representa un puntero nulo, la llamada es equivalente a c16rtomb (buf, u ' 0', ps) para algún búfer interno buf.

Si c16 es el carácter ancho nulo, es decir, u ' 0', se almacena un byte nulo.

Parámetros de c16rtomb ()

  • s: puntero a una matriz de caracteres donde se almacenará el carácter multibyte.
  • c16: el carácter de 16 bits que se va a convertir.
  • ps: un puntero a un objeto mbstate_t utilizado al interpretar la cadena multibyte.

c16rtomb () Valor de retorno

  • En caso de éxito, la función c16rtomb () devuelve el número de bytes escritos en la matriz de caracteres señalada por s.
  • En caso de falla, se devuelve -1 y EILSEQ se almacena en errno.

Ejemplo: ¿Cómo funciona la función 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!

Articulos interesantes...