C ++ wctomb () - Biblioteca standard C ++

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

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

wctomb () prototip

 int wctomb (char * pmb, wchar_t wc);

Funcția wctomb () ia două argumente și returnează o valoare întreagă. Această funcție convertește caracterul larg reprezentat de wc în echivalentul său multibyte și este stocat în locația de memorie indicată de pmb. Numărul maxim de caractere care pot fi stocate este MB_CUR_MAX .

Dacă wc este caracterul nul, octetul nul este scris în pmb.

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

wctomb () Parametri

  • pmb: Pointer către caracterul multibyte rezultat
  • wc: caracter larg care este convertit în caracter multibyte

wctomb () Valoare returnată

Dacă pmb nu este un pointer nul, wctomb () returnează:

  • numărul de octeți care sunt conținuți în reprezentarea multibyte a wc.
  • -1 dacă wc nu este un caracter valid.

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 wctomb ()?

 #include #include using namespace std; int main() ( wchar_t wc = L'x'; char *pmb1 = (char*)malloc(sizeof(char)); char *pmb2 = NULL; int ret_val; cout << "When pmb is not null" << endl; ret_val = wctomb(pmb1, wc); cout << "Return Value = " << ret_val << endl; wcout << "Multibyte Character: " << pmb1 << endl << endl; cout << "When pmb is null" << endl; ret_val = wctomb(pmb2, wc); cout << "Return Value = " << ret_val << endl; wcout << "Multibyte Character: " << pmb2; return(0); )

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

 Când pmb nu este nul Valoare returnată = 1 caracter multibyte: x↨R Când pmb este nul Valoare returnată = 0 caracter multibyte:

Articole interesante...