C ++ wcrtomb () - C ++ Standardbibliotek

Funksjonen wcrtomb () i C ++ konverterer et bredt tegn til den smale multibyte-representasjonen.

Wcrtomb () er definert i topptekstfilen.

wcrtomb () prototype

 størrelse_t wcrtomb (char * s, wchar_t wc, mbstate_t * ps);

Funksjonen wcrtomb () konverterer det brede tegnet representert av wc til et smalt multibyttegn og lagres i adressen pekt på med s.

  • Hvis s ikke er en nullpeker, bestemmer wcrtomb () -funksjonen det maksimale antall byte som kreves for å lagre multibytesrepresentasjonen av wc og lagrer den på minneplasseringen pekt av s. Maksimum MB_CUR_MAX byte kan skrives. Verdien av ps oppdateres etter behov.
  • Hvis s er en nullpeker, tilsvarer samtalen wcrtomb(buf, L'', ps)for noen intern buffer-buf.
  • Hvis wc == L'', lagres en nullbyte.

wcrtomb () Parametere

  • s: Peker til multibyte-tegnrammen for å lagre resultatet.
  • wc: Bredt tegn å konvertere.
  • ps: peker til konverteringstilstanden som brukes når du tolker multibytestrengen

wcrtomb () Returverdi

  • Ved suksess returnerer wcrtomb () -funksjonen antall byte som er skrevet til tegnmatrisen hvis første element er pekt på av s.
  • Ved feil (dvs. at wc ikke er et gyldig bredt tegn), returnerer den -1, errno er satt til EILSEQ og etterlater * ps i uspesifisert tilstand.

Eksempel: Hvordan fungerer wcrtomb () -funksjonen?

 #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

Interessante artikler...