C ++ mblen () - C ++ standaardbibliotheek

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

Interessante artikelen...