English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Bibliothèque standard en C - <stdlib.h>
Fonction de bibliothèque C int mblen(const char *str, size_t n) Retourne le paramètre str Longueur du caractère multibyte pointé.
Voici la déclaration de la fonction mblen().
int mblen(const char *str, size_t n)
Si un caractère large non vide est reconnu, la fonction mblen() retourne le nombre de bytes de la séquence multibyte de début de str. Si un caractère large vide est reconnu, alors il retourne 0. Si une séquence multibyte invalide est reconnue ou qu'il ne peut pas解析 un caractère multibyte complet, alors il retourne -1。
L'exemple suivant montre l'utilisation de la fonction mblen().
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { int len; char *pmbnull = NULL; char *pmb = (char *)malloc(MB_CUR_MAX); wchar_t *pwc = L"Hi"; wchar_t *wchar_t *)malloc(sizeof(wchar_t)); printf("Conversion en chaîne multibyte\n"); len = wcstombs(pmb, pwc, MB_CUR_MAX); printf("Caractère converti %d\n", len); printf("Valeur hexadécimale du premier caractère multibyte :%#.4x\n", pmb); len = mblen(pmb, MB_CUR_MAX); printf("Caractère multibyte %x de longueur de byte :睵n", pmb, len); pmb = NULL; len = mblen(pmb, MB_CUR_MAX); printf("Caractère multibyte %x de longueur de byte :睵n", pmb, len); return(0); }
Compilons et exécutons le programme suivant, ce qui produira le résultat suivant :
Conversion en chaîne de caractères multibyte Caractère converti 1 Valeur hexadécimale du premier caractère multibyte : 0x168c6010 Caractère multibyte 168c6010 Longueur en octets du caractère :1 Longueur en octets du caractère multibyte 0 : 0