C ++ mblen () - C ++ standardna knjižnica

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

Zanimljivi članci...