C ++ wcrtomb () - Biblioteca standard C ++

Funcția wcrtomb () din C ++ convertește un caracter larg în reprezentarea sa îngustă multibyte.

Wcrtomb () este definit în fișierul antet.

wcrtomb () prototip

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

Funcția wcrtomb () convertește caracterul larg reprezentat de wc într-un caracter îngust multibyte și este stocat în adresa indicată de s.

  • Dacă s nu este un pointer nul, funcția wcrtomb () determină numărul maxim de octeți necesari pentru a stoca reprezentarea multibyte a wc și o stochează în locația de memorie indicată de s. Se pot scrie maximum MB_CUR_MAX octeți. Valoarea ps este actualizată după cum este necesar.
  • Dacă s este un indicator nul, apelul este echivalent cu wcrtomb(buf, L'', ps)pentru un buf tampon intern.
  • Dacă wc == L''este stocat un octet nul.

wcrtomb () Parametri

  • s: Pointer către matricea de caractere multibyte pentru a stoca rezultatul.
  • wc: caracter larg de convertit.
  • ps: Pointer către starea de conversie utilizată la interpretarea șirului multibyte

wcrtomb () Valoare returnată

  • La succes, funcția wcrtomb () returnează numărul de octeți scris în matricea de caractere al cărui prim element este indicat de s.
  • La eșec (adică wc nu este un caracter larg valid), returnează -1, errno este setat la EILSEQ și lasă * ps în stare nespecificată.

Exemplu: Cum funcționează funcția 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

Articole interesante...