Funksjonen mblen () i C ++ bestemmer størrelsen (i byte) på et multibyttegn.
Funksjonen mblen () er definert i topptekstfilen.
mblen () prototype (fra og med C ++ 11 standard)
int mblen (con char char * s, size_t max);
Funksjonen mblen () tar to argumenter s og max, og returnerer en heltallverdi. Pekeren s peker på den første byten av et multibytekarakter hvis størrelse returneres av funksjonen.
mblen () Parametere
- s: Pekeren til den første byten av et multibytegn eller en nullpeker.
- maks: Maksimalt antall byte i s som kan undersøkes.
mblen () Returverdi
Hvis s er en nullpeker, tilbakestiller et kall til mblen () sin interne konverteringstilstand for å representere den opprinnelige skifttilstanden og returnerer:
- 0 hvis den nåværende multibytekodingen ikke er tilstandsavhengig (bruker ikke skiftingssekvenser).
- ikke-null verdi hvis den nåværende multibyte-kodingen er tilstandsavhengig (bruker skift-sekvenser).
Hvis s ikke er en nullpeker, returnerer mblen () -funksjonen:
- antall byte som finnes i multibyte-tegnet.
- -1 hvis de første bytene pekt på s ikke danner et gyldig multibyttegn.
- 0 hvis s peker på nulltegnet ' 0'.
Eksempel: Hvordan fungerer mblen () -funksjonen i C ++?
#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; )
Når du kjører programmet, vil utdataene være:
Lengde på multibytekarakter: 1