C ++ c32rtomb () - štandardná knižnica C ++

Funkcia c32rtomb () v C ++ prevádza 32-bitový znak na reprezentáciu na úzku viacbajtovú reprezentáciu znakov.

Funkcia c32rtomb () je definovaná v hlavičkovom súbore.

prototyp c32rtomb ()

 size_t c32rtomb (char * s, char32_t c32, mbstate_t * ps);

Funkcia c32rtomb () prevádza znak c32 utf-32 na jeho viacbajtový ekvivalent a ukladá ho do objektu, na ktorý odkazuje s.

Ak s predstavuje nulový ukazovateľ, je hovor ekvivalentný c32rtomb (buf, U ' 0', ps) pre nejaký interný bufr buf.

Ak je c32 znak s nulovou šírkou, tj U ' 0', uloží sa nulový bajt.

Parametre c32rtomb ()

  • s: Ukazovateľ na pole znakov, kde je uložený viacbajtový znak.
  • c32: 32-bitový znak, ktorý sa má konvertovať.
  • ps: Ukazovateľ na objekt mbstate_t použitý pri interpretácii viacbytového reťazca.

c32rtomb () Vrátená hodnota

  • Pri úspechu funkcia c32rtomb () vráti počet bajtov zapísaných do poľa znakov, na ktoré odkazuje s.
  • Pri zlyhaní sa vráti -1 a errno je nastavené na EILSEQ .

Príklad: Ako funguje funkcia 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.

Zaujímavé články...