Funktsioon mbtowc () funktsioonis C ++ teisendab mitmebaidise märgi laiaks.
Funktsioon mbtwoc () on määratletud päisefailis.
mbtowc () prototüüp
int mbtowc (wchar_t * pwc, const char * pmb, size_t max);
Funktsioon mbtowc () võtab kolm argumenti ja tagastab täisarvu. See funktsioon teisendab pmb-ga osutatava mitmebaidise tähemärgi laiaks tähemärgiks (tüübi wchar_t väärtus) ja salvestatakse pwc poolt osutatavasse mälukohta.
Kui pmb on nullkursor, lähtestab kutse mbtowc () globaalse teisenduse oleku ja määrab, kas kasutatakse nihkejada.
mbtowc () parameetrid
- pwc: saadud laia iseloomu osutaja
- pmb: mitmebaidise tähe kursor, mis teisendatakse laia tähemärgiks
- max: maksimaalne suurus baasides MB-des, mida tuleb arvestada mitmebaidise tähemärgi puhul.
mbtowc () Tagastusväärtus
Kui pmb ei ole nullkursor, tagastab mbtowc ():
- baitide arv, mis sisalduvad mitmebaidises tähemärgis, mille osutab pmb.
- -1, kui esimene bmb, mille pmb osutab, ei moodusta kehtivat mitmebaidist märki.
- 0, kui pmb osutab lõpetavale nullmärgile, st ' 0'.
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 mbtowc () töötab?
#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); )
Programmi käivitamisel on võimalik väljund:
Tagastusväärtus = 1 Lai tähemärk: W @