C ++ wcrtomb () - Standardna knjižnica C ++

Funkcija wcrtomb () v jeziku C ++ pretvori širok znak v svojo ozko večbajtno predstavitev.

Wcrtomb () je definiran v datoteki glave.

prototip wcrtomb ()

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

Funkcija wcrtomb () pretvori širok znak, ki ga predstavlja wc, v ozek večbajtni znak in je shranjena na naslovu, na katerega kaže s.

  • Če s ni ničelni kazalec, funkcija wcrtomb () določi največje število bajtov, potrebnih za shranjevanje večbajtne predstavitve wc, in ga shrani na mesto pomnilnika, na katerega kaže s. Zapiše se lahko največ MB_CUR_MAX bajtov. Vrednost ps se po potrebi posodobi.
  • Če je s ničelni kazalec, je klic enakovreden wcrtomb(buf, L'', ps)nekateremu notranjemu vmesnemu pomnilniku.
  • Če wc == L''je shranjen ničelni bajt.

wcrtomb () Parametri

  • s: Kazalec na večbajtno polje znakov za shranjevanje rezultata.
  • wc: širok znak za pretvorbo.
  • ps: Kazalec na stanje pretvorbe, ki se uporablja pri interpretaciji večbajtnega niza

wcrtomb () Vrnjena vrednost

  • Po uspehu funkcija wcrtomb () vrne število bajtov, zapisanih v niz znakov, na katerega prvi element kaže s.
  • Ob napaki (tj. Wc ni veljaven širok znak) vrne -1, errno je nastavljeno na EILSEQ in pusti * ps v neopredeljenem stanju.

Primer: Kako deluje funkcija wcrtomb ()?

 #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

Zanimive Članki...