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