C ++ wcrtomb () - C ++ standartinė biblioteka

C ++ funkcija wcrtomb () konvertuoja platų simbolį į siaurą daugiabačių vaizdą.

Wcrtomb () yra apibrėžtas antraštės faile.

wcrtomb () prototipas

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

Funkcija wcrtomb () konvertuoja platų simbolį, kurį vaizduoja wc, į siaurą daugiabaitį simbolį ir yra saugomas s nurodytu adresu.

  • Jei s nėra nulinis rodyklė, funkcija wcrtomb () nustato maksimalų baitų skaičių, reikalingą saugoti daugiabučio wc vaizdą, ir saugo jį atminties vietoje, į kurią rodo s. Galima parašyti ne daugiau kaip MB_CUR_MAX baitų. Ps reikšmė atnaujinama pagal poreikį.
  • Jei s yra nulinis rodyklė, iškvietimas yra lygiavertis wcrtomb(buf, L'', ps)kai kurių vidinių buferių buf.
  • Jei wc == L'', saugomas nulinis baitas.

wcrtomb () parametrai

  • s: Daugiabačio simbolių masyvo žymeklis rezultatui išsaugoti.
  • wc: platus simbolis, kurį reikia konvertuoti.
  • ps: žymeklis į konversijos būseną, naudojamą aiškinant kelių baitų eilutę

wcrtomb () Grąžinimo vertė

  • Pasisekus, funkcija wcrtomb () grąžina baitų, parašytų simbolių masyvui, kurio pirmąjį elementą rodo s, skaičių.
  • Sugedus (ty wc nėra galiojantis platus simbolis), jis grąžina -1, errno yra nustatytas į EILSEQ ir palieka * ps nenurodytą būseną.

Pavyzdys: Kaip veikia wcrtomb () funkcija?

 #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

Įdomios straipsniai...