C ++ c16rtomb () - Libreria standard C ++

La funzione c16rtomb () in C ++ converte la rappresentazione di caratteri a 16 bit in una rappresentazione di caratteri multibyte stretta.

La funzione c16rtomb () è definita nel file di intestazione.

c16rtomb () Prototipo

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

La funzione c16rtomb () converte il carattere utf-16 c16 nel suo equivalente multibyte e lo memorizza nell'oggetto puntato da s.

Se s rappresenta un puntatore nullo, la chiamata è equivalente a c16rtomb (buf, u ' 0', ps) per qualche buffer buf interno.

Se c16 è il carattere ampio nullo, ovvero u ' 0', viene memorizzato un byte nullo.

Parametri c16rtomb ()

  • s: puntatore a un array di caratteri in cui deve essere memorizzato il carattere multibyte.
  • c16: il carattere a 16 bit da convertire.
  • ps: puntatore a un oggetto mbstate_t utilizzato durante l'interpretazione della stringa multibyte.

c16rtomb () Restituisce il valore

  • In caso di successo, la funzione c16rtomb () restituisce il numero di byte scritti nell'array di caratteri a cui punta s.
  • In caso di errore, viene restituito -1 e EILSEQ viene memorizzato in errno.

Esempio: come funziona la funzione 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!

Articoli interessanti...