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