C ++ c16rtomb () - C ++ - vakiokirjasto

C ++ - funktio c16rtomb () muuntaa 16-bittisen merkkiesityksen kapeaksi monitavuiseksi merkkiesitykseksi.

C16rtomb () -funktio määritetään otsikkotiedostossa.

c16rtomb () prototyyppi

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

C16rtomb () -funktio muuntaa utf-16-merkin c16 monitavuiseen ekvivalenttiinsa ja tallentaa sen s: n osoittamaan objektiin.

Jos s edustaa nollaosoitinta, kutsu vastaa c16rtombia (buf, u ' 0', ps) joillekin sisäisille puskureille.

Jos c16 on tyhjä leveä merkki eli u ' 0', tyhjä tavu tallennetaan.

c16rtomb () -parametrit

  • s: Osoitin merkistöryhmään, johon monitavuinen merkki on tarkoitus tallentaa.
  • c16: 16-bittinen muunnettava merkki.
  • ps: Osoitin mbstate_t-objektille, jota käytetään tulkittaessa monitavuista merkkijonoa.

c16rtomb () Palautusarvo

  • Menestyksessä c16rtomb () -funktio palauttaa s: n osoittamaan merkistöön kirjoitettujen tavujen määrän.
  • Epäonnistumisen yhteydessä -1 palautetaan ja EILSEQ tallennetaan virheeseen .

Esimerkki: Kuinka c16rtomb () -toiminto toimii?

 #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!

Mielenkiintoisia artikkeleita...