C ++ wcrtomb () - C ++ standardraamatukogu

Funktsioon wcrtomb () C ++ -s teisendab laia märgi oma kitsaks mitmebaidiseks esituseks.

Wcrtomb () on määratletud päisefailis.

wcrtomb () prototüüp

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

Funktsioon wcrtomb () teisendab laia märgi, mida wc tähistab, kitsaks mitmebaidiseks tähemärgiks ja salvestatakse aadressile, millele s osutab.

  • Kui s pole nullkursor, määrab funktsioon wcrtomb () kindlaks maksimaalse baitide arvu, mis on vajalik wc mitmebaidise kujutise salvestamiseks, ja salvestab selle mälu asukohta, millele s osutab. Kirjutada saab maksimaalselt MB_CUR_MAX baiti. Ps väärtust värskendatakse vastavalt vajadusele.
  • Kui s on nullkursor, on kõne samaväärne wcrtomb(buf, L'', ps)mõne sisemise puhvri bufiga.
  • Kui wc == L'', salvestatakse nullbait.

wcrtomb () parameetrid

  • s: mitmebaidise tähemärgi osuti tulemuse salvestamiseks.
  • wc: lai märk teisendamiseks.
  • ps: kursor teisenduse olekusse, mida kasutatakse mitmebaidise stringi tõlgendamisel

wcrtomb () Tagastusväärtus

  • Edukuse korral tagastab funktsioon wcrtomb () märkide massiivile kirjutatud baitide arvu, mille esimesele elemendile osutab s.
  • Rikke korral (st wc ei ole kehtiv lai tähemärk) naaseb väärtus -1, errno väärtuseks määratakse EILSEQ ja jätab * ps täpsustamata olekusse.

Näide: Kuidas funktsioon wcrtomb () töötab?

 #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

Huvitavad Artiklid...