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