C ++ mblen () - Biblioteca standard C ++

Funcția mblen () din C ++ determină dimensiunea (în octeți) a unui caracter multibyte.

Funcția mblen () este definită în fișierul antet.

mblen () prototip (Începând cu standardul C ++ 11)

 int mblen (const char * s, size_t max);

Funcția mblen () ia două argumente s și max și returnează o valoare întreagă. Pointerul indică primul octet al unui caracter multibyte a cărui dimensiune este returnată de funcție.

mblen () Parametri

  • s: Pointer către primul octet al unui caracter multibyte sau un pointer nul.
  • max: Numărul maxim de octeți în s care pot fi examinați.

mblen () Valoare returnată

Dacă s este un indicator nul, un apel către mblen () își resetează starea de conversie internă pentru a reprezenta starea inițială de schimbare și returnează:

  • 0 dacă codificarea multibyte curentă nu este dependentă de stat (nu folosește secvențe de deplasare).
  • valoare diferită de zero dacă codarea multibyte curentă este dependentă de stare (folosește secvențe de schimbare).

Dacă s nu este un indicator nul, funcția mblen () returnează:

  • numărul de octeți care sunt conținuți în caracterul multibyte.
  • -1 dacă primii octeți indicați de s nu formează un caracter multibyte valid.
  • 0 dacă s indică caracterul nul ' 0'.

Exemplu: Cum funcționează funcția mblen () în 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; )

Când rulați programul, ieșirea va fi:

 Lungimea caracterului multibyte: 1

Articole interesante...