Funcția c32rtomb () din C ++ convertește un caracter de 32 de biți în reprezentare într-o reprezentare îngustă de caractere multibyte.
Funcția c32rtomb () este definită în fișierul antet.
prototip c32rtomb ()
size_t c32rtomb (char * s, char32_t c32, mbstate_t * ps);
Funcția c32rtomb () convertește caracterul utf-32 c32 în echivalentul său multibyte și îl stochează în obiectul indicat de s.
Dacă s reprezintă un pointer nul, apelul este echivalent cu c32rtomb (buf, U ' 0', ps) pentru un buf tampon intern.
Dacă c32 este caracterul nul, adică U ' 0', este stocat un octet nul.
c32rtomb () Parametri
- s: Pointer către o matrice de caractere în care este stocat caracterul multibyte.
- c32: Caracterul de 32 biți de convertit.
- ps: Un pointer către un obiect mbstate_t utilizat la interpretarea șirului multibyte.
c32rtomb () Valoare returnată
- La succes, funcția c32rtomb () returnează numărul de octeți scrise în matricea de caractere indicată de s.
- La eșec, -1 este returnat și errno este setat la EILSEQ .
Exemplu: Cum funcționează funcția 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.