La funzione c32rtomb () in C ++ converte un carattere a 32 bit in una rappresentazione in una rappresentazione di caratteri multibyte stretta.
La funzione c32rtomb () è definita nel file di intestazione.
prototipo c32rtomb ()
size_t c32rtomb (char * s, char32_t c32, mbstate_t * ps);
La funzione c32rtomb () converte il carattere utf-32 c32 nel suo equivalente multibyte e lo memorizza nell'oggetto puntato da s.
Se s rappresenta un puntatore nullo, la chiamata è equivalente a c32rtomb (buf, U ' 0', ps) per qualche buffer buf interno.
Se c32 è il carattere ampio nullo, ad esempio U ' 0', viene memorizzato un byte nullo.
Parametri c32rtomb ()
- s: puntatore a un array di caratteri in cui è memorizzato il carattere multibyte.
- c32: il carattere a 32 bit da convertire.
- ps: puntatore a un oggetto mbstate_t utilizzato durante l'interpretazione della stringa multibyte.
c32rtomb () Restituisce il valore
- In caso di successo, la funzione c32rtomb () restituisce il numero di byte scritti nell'array di caratteri puntato da s.
- In caso di errore, viene restituito -1 e errno viene impostato su EILSEQ .
Esempio: come funziona la funzione 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.