_mbclen, mblen, _mblen_l
Obtient la longueur et détermine la validité d'un caractère multioctet.
Important
Cette API ne peut pas être utilisée dans les applications qui s'exécutent dans les fenêtres d'exécution.Pour plus d'informations, consultez Fonctions CRT non prises en charge avec /ZW.
size_t _mbclen(
const unsigned char *c
);
int mblen(
const char *mbstr,
size_t count
);
int _mblen_l(
const char *mbstr,
size_t count,
_locale_t locale
);
Paramètres
c
Caractères multioctet.mbstr
Adresse d'une séquence d'octets en caractères multioctets.count
Nombre d'octets à vérifier.locale
Paramètres régionaux à utiliser.
Valeur de retour
_mbclen retourne 1 ou 2, selon que le caractère multioctet c est de 1 ou 2 octets.Il n'existe aucun retour en cas de erreur pour _mbclen.Si mbstr n'est pas NULL, mblen retourne la longueur, en octets, de caractères multioctet.Si mbstr est NULL ou il indique le caractère NULL à caractères larges, retourne 0 d' mblen .Si l'objet qu' mbstr formulaire ne pointe pas de caractères multioctet valide dans les premiers caractères d' count, mblen retourne à 1.
Notes
La fonction d' _mbclen retourne la longueur, en octets, de caractères multioctet c.Si c n'indique pas l'octet de tête d'un caractère multioctet déterminé par un appel implicite à _ismbblead, le résultat d' _mbclen est imprévisible.
mblen retourne la longueur en octets d' mbstr s'il s'agit d'un caractère multioctet valide et détermine la validité à caractères multioctets associée à la page de codes.mblen examine count ou moins octets contenus dans mbstr, mais pas plus que les octets d' MB_CUR_MAX .
La valeur de sortie est affectée par la configuration de la définition de catégorie d' LC_CTYPE des paramètres régionaux ; consultez l' setlocale pour plus d'informations.Les versions de ces fonctions sans suffixe d' _l utilisent les paramètres régionaux définis pour ce comportement dépendant des paramètres régionaux ; les versions avec le suffixe d' _l sont identiques sauf qu'elles utilisent le paramètre de paramètres régionaux passé à la place.Pour plus d'informations, consultez Paramètres régionaux.
Mappages de routines de texte générique
Routine de Tchar.h |
_UNICODE et non définis _MBCS |
_MBCS défini |
_UNICODE défini |
---|---|---|---|
_tclen |
Mappage à la macro ou la fonction inline |
_mbclen |
Mappage à la macro ou la fonction inline |
Configuration requise
Routine |
En-tête requis |
---|---|
_mbclen |
<mbstring.h> |
mblen |
<stdlib.h> |
_mblen_l |
<stdlib.h> |
Pour plus d'informations de compatibilité, consultez l' Compatibilité dans l'introduction.
Exemple
// crt_mblen.c
/* illustrates the behavior of the mblen function
*/
#include <stdlib.h>
#include <stdio.h>
int main( void )
{
int i;
char *pmbc = (char *)malloc( sizeof( char ) );
wchar_t wc = L'a';
printf( "Convert wide character to multibyte character:\n" );
wctomb_s( &i, pmbc, sizeof(char), wc );
printf( " Characters converted: %u\n", i );
printf( " Multibyte character: %x\n\n", *pmbc );
i = mblen( pmbc, MB_CUR_MAX );
printf( "Length in bytes of multibyte character %x: %u\n", *pmbc, i );
pmbc = NULL;
i = mblen( pmbc, MB_CUR_MAX );
printf( "Length in bytes of NULL multibyte character %x: %u\n", pmbc, i );
}
Sortie
Convert wide character to multibyte character:
Characters converted: 1
Multibyte character: 61
Length in bytes of multibyte character 61: 1
Length in bytes of NULL multibyte character 0: 0
Équivalent .NET Framework
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez l' Exemples d'appel de code non managé.
Voir aussi
Référence
Interprétation des séquences de caractères multioctets
strlen, strlen_l, wcslen, wcslen_l, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l