De functie mblen () in C ++ bepaalt de grootte (in bytes) van een multibyte-teken.
De functie mblen () is gedefinieerd in het header-bestand.
mblen () prototype (vanaf C ++ 11-standaard)
int mblen (const char * s, size_t max);
De functie mblen () accepteert twee argumenten s en max en retourneert een geheel getal. De pointer s wijst naar de eerste byte van een multibyte-teken waarvan de grootte wordt geretourneerd door de functie.
mblen () Parameters
- s: Pointer naar de eerste byte van een multibyte-teken of een null-pointer.
- max: Maximaal aantal bytes in s dat kan worden onderzocht.
mblen () Retourwaarde
Als s een null-pointer is, wordt bij een aanroep van mblen () de interne conversiestatus gereset om de oorspronkelijke shift-status weer te geven en retourneert:
- 0 als de huidige multibyte-codering niet toestandsafhankelijk is (gebruikt geen shift-sequenties).
- een niet-nulwaarde als de huidige multibyte-codering toestandsafhankelijk is (gebruikt shiftsequenties).
Als s geen null-pointer is, geeft de functie mblen () het volgende terug:
- het aantal bytes dat het multibyte-teken bevat.
- -1 als de eerste bytes waarnaar wordt verwezen door s geen geldig multibyte-teken vormen.
- 0 als s naar het nul-teken ' 0' wijst.
Voorbeeld: hoe werkt de functie mblen () in 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; )
Wanneer u het programma uitvoert, is de uitvoer:
Lengte van multibyte-teken: 1