C ++ wctomb () - C ++ standardna knjižnica

Funkcija wctomb () u C ++ pretvara široki znak u višebajtni znak.

Funkcija wctomb () definirana je u zaglavnoj datoteci.

prototip wctomb ()

 int wctomb (char * pmb, wchar_t wc);

Funkcija wctomb () uzima dva argumenta i vraća cjelobrojnu vrijednost. Ova funkcija pretvara široki znak predstavljen wc u njegov multibajtni ekvivalent i pohranjuje se na memorijsko mjesto koje pokazuje pmb. Maksimalan broj znakova koji se mogu pohraniti je MB_CUR_MAX .

Ako je wc nulti znak, nulti bajt se zapisuje u pmb.

Ako je pmb nulti pokazivač, poziv na wctomb () vratit će globalno stanje pretvorbe i odrediti koriste li se sljedovi sljedova.

wctomb () parametri

  • pmb: pokazivač na rezultirajući višebajtni znak
  • wc: Široki znak koji se pretvara u višebajtni znak

wctomb () Povratna vrijednost

Ako pmb nije null pokazivač, wctomb () vraća:

  • broj bajtova sadržanih u višbajtnom prikazu wc.
  • -1 ako wc nije valjani znak.

Ako je pmb null pokazivač, resetira svoje unutarnje stanje pretvorbe da predstavlja početno stanje pomaka i vraća:

  • 0 ako trenutačno višebajtno kodiranje ne ovisi o stanju (ne koristi sekvence pomaka)
  • vrijednost koja nije nula ako je trenutno višebajtno kodiranje ovisno o stanju (koristi sekvence pomaka).

Primjer: Kako funkcionira funkcija 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); )

Kada pokrenete program, mogući izlaz bit će:

 Kada pmb nije nula Povratna vrijednost = 1 multibajtni znak: x↨R Kada je pmb null Povratna vrijednost = 0 Višebajtni znak:

Zanimljivi članci...