_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

Classification des caractères

Paramètres régionaux

Interprétation des séquences de caractères multioctets

_mbccpy, _mbccpy_l

strlen, strlen_l, wcslen, wcslen_l, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l