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

Funkcija mbtowc () u C ++ pretvara multibajtni znak u široki znak.

Funkcija mbtwoc () definirana je u zaglavnoj datoteci.

mbtowc () prototip

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

Funkcija mbtowc () uzima tri argumenta i vraća cjelobrojnu vrijednost. Ova funkcija pretvara višebajtni znak na koji pokazuje pmb u široki znak (vrijednost tipa wchar_t) i pohranjuje se na memorijsko mjesto na koje pokazuje pwc.

Ako je pmb null pokazivač, poziv mbtowc () resetirat će globalno stanje pretvorbe i odrediti koriste li se sljedovi sljedova.

mbtowc () Parametri

  • pwc: Pokazivač na rezultirajući široki znak
  • pmb: pokazivač na višebajtni znak koji se pretvara u široki znak
  • max: maksimalna veličina u bajtovima pmb-a koja se uzima u obzir za višebajtni znak.

mbtowc () Povratna vrijednost

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

  • broj bajtova sadržanih u višebajtnom znaku označenom pmb.
  • -1 ako prvi bajt na koji ukazuje pmb ne tvori valjani višebajtni znak.
  • 0 ako pmb pokazuje na završni null znak tj. 0.

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 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); )

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

 Povratna vrijednost = 1 Široki niz znakova: W @

Zanimljivi članci...