C ++ mblen () - C ++ Standardbibliotek

Funktionen mblen () i C ++ bestämmer storleken (i byte) på ett multibyt-tecken.

Funktionen mblen () definieras i rubrikfilen.

mblen () prototyp (Från och med C ++ 11-standard)

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

Funktionen mblen () tar två argument s och max och returnerar ett heltalvärde. Pekaren s pekar på den första byten av ett multibyt-tecken vars storlek returneras av funktionen.

mblen () Parametrar

  • s: Pekare till den första byten av ett multibytecken eller en nollpekare.
  • max: Maximalt antal byte i s som kan undersökas.

mblen () Returvärde

Om s är en nollpekare återställer ett samtal till mblen () dess interna omvandlingstillstånd för att representera det initiala skifttillståndet och returnerar:

  • 0 om den aktuella multibyte-kodningen inte är tillståndsberoende (använder inte skiftningssekvenser).
  • icke-nollvärde om den nuvarande multibyte-kodningen är tillståndsberoende (använder skiftningssekvenser).

Om s inte är en nollpekare returnerar funktionen mblen ():

  • antalet byte som finns i multibyte-tecknet.
  • -1 om de första byte som pekas på s inte bildar ett giltigt multibyt-tecken.
  • 0 om s pekar på nollkaraktären ' 0'.

Exempel: Hur fungerar mblen () i 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; )

När du kör programmet blir resultatet:

 Längd på multibytkaraktär: 1

Intressanta artiklar...