Funktionen mblen () i C ++ bestemmer størrelsen (i byte) af et multibyttegn.
Funktionen mblen () er defineret i headerfilen.
mblen () prototype (pr. C ++ 11 standard)
int mblen (const char * s, size_t max);
Funktionen mblen () tager to argumenter s og max og returnerer en heltalværdi. Markøren s peger på den første byte af et multibyttegn, hvis størrelse returneres af funktionen.
mblen () Parametre
- s: Markør til den første byte af et multibyttegn eller en nulmarkør.
- max: Maksimalt antal byte i s, der kan undersøges.
mblen () Returværdi
Hvis s er en nul pointer, nulstiller et kald til mblen () sin interne konverteringstilstand for at repræsentere den indledende skifttilstand og returnerer:
- 0, hvis den aktuelle multibytkodning ikke er statsafhængig (bruger ikke skiftesekvenser).
- ikke-nul-værdi, hvis den aktuelle multibyte-kodning er tilstandsafhængig (bruger skift-sekvenser).
Hvis s ikke er en nul pointer, returnerer funktionen mblen ():
- antallet af byte, der er indeholdt i multibyttegnet.
- -1, hvis de første byte, som s er peget på, ikke danner et gyldigt multibyttegn.
- 0 hvis s peger på null-tegnet ' 0'.
Eksempel: Hvordan fungerer mblen () -funktionen 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 kører programmet, vil output være:
Længde på multibyttegn: 1