C ++ - funktio c32rtomb () muuntaa 32-bittisen merkin edustukseksi kapeaksi monitavuiseksi merkkiesitykseksi.
C32rtomb () -funktio määritetään otsikkotiedostossa.
c32rtomb () -prototyyppi
size_t c32rtomb (char * s, char32_t c32, mbstate_t * ps);
C32rtomb () -toiminto muuntaa utf-32-merkin c32 monitavuiseen ekvivalenttiinsa ja tallentaa sen s: n osoittamaan objektiin.
Jos s edustaa nollaosoitinta, kutsu vastaa c32rtombia (buf, U ' 0', ps) joillekin sisäisille puskureille.
Jos c32 on tyhjä leveä merkki eli U ' 0', nolla tavu tallennetaan.
c32rtomb () -parametrit
- s: Osoitin merkistöryhmään, johon monitavuinen merkki on tallennettu.
- c32: 32-bittinen muunnettava merkki.
- ps: Osoitin mbstate_t-objektille, jota käytetään tulkittaessa monitavuista merkkijonoa.
c32rtomb () Palautusarvo
- Menestyksessä c32rtomb () -funktio palauttaa merkkijonoon, johon s on osoittanut, kirjoitettujen tavujen määrän.
- Epäonnistumisen yhteydessä -1 palautetaan ja virheeksi asetetaan EILSEQ .
Esimerkki: Kuinka c32rtomb () -toiminto toimii?
#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.