C ++ mblen () - C ++ Standardbibliotek

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

Interessante artikler...