C ++ mblen () - standardní knihovna C ++

Funkce mblen () v C ++ určuje velikost (v bajtech) vícebajtového znaku.

Funkce mblen () je definována v hlavičkovém souboru.

mblen () prototyp (od standardu C ++ 11)

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

Funkce mblen () přebírá dva argumenty sa max. A vrací celočíselnou hodnotu. Ukazatel s ukazuje na první bajt vícebajtového znaku, jehož velikost je vrácena funkcí.

Parametry mblen ()

  • s: Ukazatel na první bajt vícebajtového znaku nebo nulový ukazatel.
  • max: Maximální počet bytů v s, které lze zkoumat.

mblen () Návratová hodnota

Pokud s je nulový ukazatel, volání mblen () resetuje svůj interní stav převodu, aby představoval počáteční stav posunu a vrátí:

  • 0, pokud aktuální vícebajtové kódování není závislé na stavu (nepoužívá posloupné sekvence).
  • nenulová hodnota, pokud je aktuální vícebajtové kódování závislé na stavu (používá posloupné sekvence).

Pokud s není nulový ukazatel, vrátí funkce mblen ():

  • počet bajtů obsažených ve vícebajtovém znaku.
  • -1, pokud první bajty, na které ukazuje s, netvoří platný vícebajtový znak.
  • 0, pokud s ukazuje na nulový znak ' 0'.

Příklad: Jak funguje funkce 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; )

Když spustíte program, výstup bude:

 Délka vícebajtového znaku: 1

Zajímavé články...