C ++ wctomb () - C ++ standardraamatukogu

Funktsioon wctomb () C ++ -s teisendab laia märgi mitmebaidiseks.

Funktsioon wctomb () on määratletud päisefailis.

wctomb () prototüüp

 int wctomb (char * pmb, wchar_t wc);

Funktsioon wctomb () võtab kaks argumenti ja tagastab täisarvu. See funktsioon teisendab laia märgi, mida tähistab wc, mitmebaidiseks ekvivalendiks ja salvestatakse pmb-i osundatud mälu asukohta. Salvestatavate tähemärkide maksimaalne arv on MB_CUR_MAX .

Kui nullmärk on wc, kirjutatakse nullbait pmb-i.

Kui pmb on nullkursor, lähtestab kutse wctomb () globaalse teisenduse oleku ja määrab, kas kasutatakse nihkejada.

wctomb () parameetrid

  • pmb: saadud mitmebaidise tähe osuti
  • wc: lai tähemärk, mis teisendatakse mitmebaidiseks tähemärgiks

wctomb () Tagastusväärtus

Kui pmb pole nullkursor, tagastab wctomb ():

  • baitide arv, mis sisalduvad wc mitmebaidises esituses.
  • -1, kui wc ei ole kehtiv märk.

Kui pmb on nullkursor, lähtestab selle sisemine teisenduse olek esindama algset nihkeolekut ja tagastab:

  • 0, kui praegune mitmebaidine kodeering ei sõltu olekust (ei kasuta nihkejärjestusi)
  • nullist erinev väärtus, kui praegune mitmebaidine kodeering sõltub olekust (kasutab nihkjärjestusi).

Näide: Kuidas funktsioon wctomb () töötab?

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

Programmi käivitamisel on võimalik väljund:

 Kui pmb ei ole null Tagastusväärtus = 1 mitmebaidine märk: x↨R Kui pmb on null Tagasiväärtus = 0 mitmebaidine märk:

Huvitavad Artiklid...