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

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

Funkcija wctomb () je definirana v datoteki glave.

prototip wctomb ()

 int wctomb (char * pmb, wchar_t wc);

Funkcija wctomb () sprejme dva argumenta in vrne celoštevilčno vrednost. Ta funkcija pretvori široki znak, ki ga predstavlja wc, v njegov večbajtni ekvivalent in je shranjena na pomnilniškem mestu, ki ga kaže pmb. Največje število znakov, ki jih je mogoče shraniti, je MB_CUR_MAX .

Če je wc ničelni znak, je ničelni bajt zapisan v pmb.

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

wctomb () Parametri

  • pmb: kazalec na nastali večbajtni znak
  • wc: širok znak, ki se pretvori v večbajtni znak

wctomb () Vrnjena vrednost

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

  • število bajtov, ki jih vsebuje večbajtna predstavitev wc.
  • -1, če wc ni veljaven znak.

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

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

 Če pmb ni nujna Vrnjena vrednost = 1 večbajtni znak: x↨R Ko je pmb ničelna Vrnjena vrednost = 0 večbajtni znak:

Zanimive Članki...