C ++ wcrtomb () - C ++ Standardbibliotek

Funktionen wcrtomb () i C ++ konverterer en bred karakter til dens snævre multibytrepræsentation.

Wcrtomb () er defineret i headerfilen.

wcrtomb () prototype

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

Funktionen wcrtomb () konverterer det brede tegn, der er repræsenteret af wc, til et smalt multibyttegn og er gemt i den adresse, som s er peget på.

  • Hvis s ikke er en nul-markør, bestemmer wcrtomb () -funktionen det maksimale antal byte, der kræves for at lagre multibytrepræsentationen af ​​wc, og gemmer den i den hukommelsesplacering, som s er peget på. Der kan maksimalt skrives MB_CUR_MAX bytes. Værdien af ​​ps opdateres efter behov.
  • Hvis s er en nul pointer, svarer opkaldet til wcrtomb(buf, L'', ps)for nogle interne buffer buf.
  • Hvis wc == L''der lagres en nulbyte.

wcrtomb () Parametre

  • s: Markør til multibyte-tegnarray for at gemme resultatet.
  • wc: Bredt tegn, der skal konverteres.
  • ps: Markør til den konverteringstilstand, der bruges ved fortolkning af multibyte-strengen

wcrtomb () Returværdi

  • Efter succes returnerer wcrtomb () -funktionen antallet af byte, der er skrevet til tegnarrayet, hvis første element er peget på med s.
  • Ved fejl (dvs. wc er ikke et gyldigt bredt tegn) returnerer det -1, errno er indstillet til EILSEQ og efterlader * ps i uspecificeret tilstand.

Eksempel: Hvordan fungerer wcrtomb () -funktionen?

 #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...