Funkcija mblen () u C ++ određuje veličinu (u bajtovima) višebajtnog znaka.
Funkcija mblen () definirana je u zaglavnoj datoteci.
mblen () prototip (od standarda C ++ 11)
int mblen (const char * s, size_t max);
Funkcija mblen () uzima dva argumenta s i max i vraća cijelu vrijednost. Pokazivač s pokazuje na prvi bajt višebajtnog znaka čiju veličinu vraća funkcija.
mblen () Parametri
- s: Pokazivač na prvi bajt višebajtnog znaka ili nulti pokazivač.
- max: maksimalan broj bajtova u s koji se može ispitati.
mblen () Povratna vrijednost
Ako je s null pokazivač, poziv mblen () resetira svoje unutarnje stanje pretvorbe da predstavlja početno stanje pomaka i vraća:
- 0 ako trenutno višebajtno kodiranje ne ovisi o stanju (ne koristi sekvence pomaka).
- vrijednost koja nije nula ako je trenutno višebajtno kodiranje ovisno o stanju (koristi sekvence pomaka).
Ako s nije null pokazivač, funkcija mblen () vraća:
- broj bajtova sadržanih u višebajtnom znaku.
- -1 ako prvi bajtovi na koje ukazuje s ne čine valjani višebajtni znak.
- 0 ako s pokazuje na nulu ' 0'.
Primjer: Kako funkcija mblen () radi u 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; )
Kada pokrenete program, izlaz će biti:
Duljina višebajtnog znaka: 1