C ++ mblen () - Bibliothèque standard C ++

La fonction mblen () en C ++ détermine la taille (en octets) d'un caractère multi-octets.

La fonction mblen () est définie dans le fichier d'en-tête.

prototype mblen () (à partir de la norme C ++ 11)

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

La fonction mblen () prend deux arguments s et max, et renvoie une valeur entière. Le pointeur s pointe sur le premier octet d'un caractère multi-octets dont la taille est renvoyée par la fonction.

Paramètres mblen ()

  • s: pointeur vers le premier octet d'un caractère multi-octets ou pointeur nul.
  • max: nombre maximum d'octets en s pouvant être examinés.

mblen () Valeur de retour

Si s est un pointeur nul, un appel à mblen () réinitialise son état de conversion interne pour représenter l'état de décalage initial et retourne:

  • 0 si le codage multi-octets actuel n'est pas dépendant de l'état (n'utilise pas de séquences de décalage).
  • valeur non nulle si le codage multi-octets actuel dépend de l'état (utilise des séquences de décalage).

Si s n'est pas un pointeur nul, la fonction mblen () renvoie:

  • le nombre d'octets contenus dans le caractère multi-octets.
  • -1 si les premiers octets pointés par s ne forment pas un caractère multi-octets valide.
  • 0 si s pointe sur le caractère nul ' 0'.

Exemple: comment fonctionne la fonction mblen () en 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; )

Lorsque vous exécutez le programme, la sortie sera:

 Longueur du caractère multi-octets: 1

Articles intéressants...