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

Funkcija mbtowc () v jeziku C ++ pretvori večbajtni znak v širok znak.

Funkcija mbtwoc () je definirana v datoteki glave.

prototip mbtowc ()

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

Funkcija mbtowc () sprejme tri argumente in vrne celoštevilčno vrednost. Ta funkcija pretvori večbajtni znak, ki ga kaže pmb, v širok znak (vrednost tipa wchar_t) in je shranjena na pomnilniškem mestu, ki ga kaže pwc.

Če je pmb ničelni kazalec, bo klic mbtowc () ponastavil stanje globalne pretvorbe in določil, ali se uporabljajo zaporedja premikov.

mbtowc () Parametri

  • pwc: Kazalec na nastali široki znak
  • pmb: Kazalec na večbajtni znak, ki se pretvori v širok znak
  • max: največja velikost v bajtih pmb, ki jo je treba upoštevati za večbajtni znak.

mbtowc () Vrnjena vrednost

Če pmb ni ničelni kazalec, mbtowc () vrne:

  • število bajtov, ki jih vsebuje večbajtni znak, ki ga kaže pmb.
  • -1, če prvi bajt, ki ga kaže pmb, ne tvori veljavnega večbajtnega znaka.
  • 0, če pmb kaže na zaključni ničelni znak, tj. 0.

Če je pmb ničelni kazalec, ponastavi svoje notranje stanje pretvorbe, da predstavlja začetno stanje premika, in vrne:

  • 0, če trenutno večbajtno kodiranje ni odvisno od stanja (ne uporablja zaporedij premikov)
  • vrednost, ki ni enaka nič, če je trenutno večbajtno kodiranje odvisno od stanja (uporablja zaporedja premikov).

Primer: Kako deluje 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); )

Ko zaženete program, bo možen izhod:

 Vrnjena vrednost = 1 Širok znakovni niz: W @

Zanimive Članki...