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

Funkcia c16rtomb () v C ++ prevádza 16-bitovú reprezentáciu znakov na úzku viacbajtovú reprezentáciu znakov.

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

c16rtomb () prototyp

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

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

Ak s predstavuje nulový ukazovateľ, volanie je ekvivalentné príkazu c16rtomb (buf, u ' 0', ps) pre nejaký interný bufr buf.

Ak je c16 nulový široký znak, tj u ' 0', uloží sa nulový bajt.

c16rtomb () parametre

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

c16rtomb () Vrátená hodnota

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

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

Zaujímavé články...