C ++ mblen () - štandardná knižnica C ++

Funkcia mblen () v C ++ určuje veľkosť (v bajtoch) viacbajtového znaku.

Funkcia mblen () je definovaná v hlavičkovom súbore.

mblen () prototyp (od štandardu C ++ 11)

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

Funkcia mblen () má dva argumenty s a max a vráti celočíselnú hodnotu. Ukazovateľ s ukazuje na prvý bajt viacbajtového znaku, ktorého veľkosť vráti funkcia.

mblen () parametre

  • s: Ukazovateľ na prvý bajt viacbajtového znaku alebo nulový ukazovateľ.
  • max: Maximálny počet bytov v s, ktoré je možné preskúmať.

mblen () Vrátená hodnota

Ak s je nulový ukazovateľ, volanie mblen () obnoví jeho stav internej konverzie tak, aby predstavoval počiatočný stav posunu, a vráti:

  • 0, ak súčasné viacbajtové kódovanie nie je závislé od stavu (nepoužíva posúvacie sekvencie).
  • nenulová hodnota, ak je súčasné viacbajtové kódovanie závislé od stavu (používa sekvencie posunu).

Ak s nie je nulový ukazovateľ, vráti funkcia mblen ():

  • počet bajtov, ktoré obsahuje viacbajtový znak.
  • -1, ak prvé bajty, na ktoré odkazuje s, netvoria platný viacbajtový znak.
  • 0, ak s smeruje na prázdny znak „ 0“.

Príklad: Ako funguje funkcia mblen () v 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; )

Po spustení programu bude výstup:

 Dĺžka viacbytového znaku: 1

Zaujímavé články...