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