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!