C ++ mbtowc () - Biblioteca standard C ++

Funcția mbtowc () din C ++ convertește un caracter multibyte într-un caracter larg.

Funcția mbtwoc () este definită în fișierul antet.

mbtowc () prototip

 int mbtowc (wchar_t * pwc, const char * pmb, size_t max);

Funcția mbtowc () ia trei argumente și returnează o valoare întreagă. Această funcție convertește caracterul multibyte indicat de pmb într-un caracter larg (valoarea de tip wchar_t) și este stocat la locația de memorie indicată de pwc.

Dacă pmb este un pointer nul, un apel către mbtowc () va reseta starea de conversie globală și va determina dacă sunt utilizate secvențe de schimbare.

mbtowc () Parametri

  • pwc: Pointer către caracterul larg rezultat
  • pmb: Pointer către caracterul multibyte care este convertit în caracter larg
  • max: dimensiunea maximă în octeți de pmb de luat în considerare pentru caracterul multibyte.

mbtowc () Valoare returnată

Dacă pmb nu este un indicator nul, mbtowc () returnează:

  • numărul de octeți care sunt conținuți în caracterul multibyte indicat de pmb.
  • -1 dacă primul octet indicat de pmb nu formează un caracter multibyte valid.
  • 0 dacă pmb indică caracterul nul care se termină, adică „ 0”.

Dacă pmb este un indicator nul, își resetează starea de conversie internă pentru a reprezenta starea inițială de schimbare și returnează:

  • 0 dacă codificarea multibyte curentă nu este dependentă de stat (nu folosește secvențe de schimbare)
  • o valoare diferită de zero dacă codificarea multibyte curentă este dependentă de stat (folosește secvențe de schimbare).

Exemplu: Cum funcționează funcția mbtowc ()?

 #include #include #include using namespace std; int main() ( char pmb() = "Welcome to Programiz.com"; wchar_t pwc(100); int len, ret_val; /* resets internal conversion state */ mbtowc (NULL, NULL, 0); len = strlen(pmb); ret_val = mbtowc(pwc, pmb, strlen(pmb)); cout << "Return Value = " << ret_val << endl; wcout << "Wide character string: " << pwc; return(0); )

Când rulați programul, o posibilă ieșire va fi:

 Valoare returnată = 1 Șir larg de caractere: W @

Articole interesante...