C ++ wcrtomb () - C ++ - vakiokirjasto

C ++: n wcrtomb () -funktio muuntaa laajan merkin kapeaksi monitavuiseksi esitykseksi.

Wcrtomb () määritetään otsikkotiedostossa.

wcrtomb () -prototyyppi

 size_t wcrtomb (char * s, wchar_t wc, mbstate_t * ps);

Wcrtomb () -toiminto muuntaa wc: n esittämän laajan merkin kapeaksi monitavuiseksi merkiksi ja tallennetaan s: n osoittamaan osoitteeseen.

  • Jos s ei ole nollaosoitin, wcrtomb () -funktio määrittää wc: n monitavuisen esityksen tallentamiseen tarvittavan tavujen enimmäismäärän ja tallentaa sen s: n osoittamaan muistipaikkaan. Enintään MB_CUR_MAX tavua voidaan kirjoittaa. Ps: n arvo päivitetään tarpeen mukaan.
  • Jos s on nollaosoitin, kutsu vastaa wcrtomb(buf, L'', ps)joidenkin sisäisten puskurien bufia.
  • Jos wc == L'', tyhjä tavu tallennetaan.

wcrtomb () -parametrit

  • s: Osoitin monitavuiseen merkistöön tuloksen tallentamiseksi.
  • wc: Leveä merkki muunnettavaksi.
  • ps: Osoitin muuntotilaan, jota käytetään tulkittaessa monitavuista merkkijonoa

wcrtomb () Palautusarvo

  • Menestyksessä wcrtomb () -funktio palauttaa merkkimatriisiin kirjoitettujen tavujen lukumäärän, jonka ensimmäiseen elementtiin s viittaa.
  • Epäonnistumisen yhteydessä (ts. Wc ei ole kelvollinen leveä merkki), se palauttaa arvon -1, errno-asetuksena on EILSEQ ja se jättää * ps: n määrittelemättömään tilaan.

Esimerkki: Kuinka wcrtomb () -toiminto toimii?

 #include #include #include using namespace std; int main() ( setlocale(LC_ALL, "en_US.utf8"); wchar_t str() = L"uu00c6u00f5u01b5"; char s(16); int retVal; mbstate_t ps = mbstate_t(); for (int i=0; i 

When you run the program, the output will be:

 Size of u is 1 bytes Size of Æ is 2 bytes Size of õ is 2 bytes Size of Ƶ is 2 bytes

Mielenkiintoisia artikkeleita...