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: