Funktsioon mblen () funktsioonis C ++ määrab mitmebaidise märgi suuruse (baitides).
Funktsioon mblen () on määratletud päisefailis.
mblen () prototüüp (standardi C ++ 11 järgi)
int mblen (const char * s, suurus_t max);
Funktsioon mblen () võtab kaks argumenti s ja max ning tagastab täisarvu. Kursor s osutab mitmebaidise märgi esimesele baidile, mille suurus tagastab funktsioon.
mblen () Parameetrid
- s: mitmebaidise märgi esimese nullbaidi või nullkursori osuti.
- max: maksimaalne uuritavate baitide arv sekundites.
mblen () Tagastusväärtus
Kui s on nullkursor, lähtestab kutse mblen () selle sisemise teisenduse oleku tähistama 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).
Kui s pole nullkursor, tagastab funktsioon mblen ():
- mitmebaidises märgis sisalduvate baitide arv.
- -1, kui esimesed baidid, millele s osutab, ei moodusta kehtivat mitmebaidist tähemärki.
- 0, kui s osutab nullmärgile ' 0'.
Näide: Kuidas funktsioon mblen () töötab C ++ -s?
#include #include #include using namespace std; int main() ( int len; char *s = (char *)malloc(20); strcpy(s,"xe4xbdxa0xe5xa5xbd"); /* resets the conversion state */ mblen(NULL, 0); len = mblen(s,strlen(s)); cout << "Length of multibyte character: " << len << endl; return 0; )
Programmi käivitamisel on väljund järgmine:
Mitmebaidise tähemärgi pikkus: 1