Partager via


_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l

Retourne le nombre de caractères ou d'octets dans un nombre fourni.

Important

_mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, et _mbsnccnt_l ne peuvent pas être utilisés 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 _strncnt(
   const char *str,
   size_t count
);
size_t _wcsncnt(
   const wchar_t *str,
   size_t count
);
size_t _mbsnbcnt(
   const unsigned char *str,
   size_t count 
);
size_t _mbsnbcnt_l(
   const unsigned char *str,
   size_t count,
   _locale_t locale
);
size_t _mbsnccnt(
   const unsigned char *str,
   size_t count
);
size_t _mbsnccnt_l(
   const unsigned char *str,
   size_t count,
   _locale_t locale
);

Paramètres

  • str
    Chaîne à examiner.

  • count
    Nombre de caractères ou d'octets à examiner dans str.

  • locale
    Paramètres régionaux à utiliser.

Valeur de retour

_mbsnbcnt et _mbsnbcnt_l retournent le nombre d'octets trouvent dans le premier count des caractères multioctets d' str._mbsnccnt et _mbsnccnt_l retournent le nombre de caractères trouvé dans le premier count des octets d' str.Si un caractère Null est produit avant que la révision d' str terminé, ils retournent le nombre d'octets ou les caractères trouvé avant le caractère Null.Si str se compose moins de les caractères ou des octets d' count, ils retournent le nombre de caractères ou d'octets dans la chaîne.Si count est inférieur à zéro, ils retournent 0.Dans les versions antérieures, ces fonctions ont eu une valeur de retour de type int plutôt qu' size_t.

_strncnt retourne le nombre de caractères dans les premiers octets d' count de la chaîne codée sur un octet str._wcsncnt retourne le nombre de caractères dans les premiers caractères larges d' count de la chaîne à caractères larges str.

Notes

_mbsnbcnt et _mbsnbcnt_l attendent le nombre d'octets trouvent dans le premier count des caractères multioctets d' str._mbsnbcnt et _mbsnbcnt_l substituent mtob et doivent être utilisés à la place d' mtob.

_mbsnccnt et _mbsnccnt_l attendent le nombre de caractères trouvé dans le premier count des octets d' str.Si _mbsnccnt et _mbsnccnt_l rencontrent NULL dans le deuxième octet d'un caractère codé sur deux octets, le premier octet est également pris NULL et n'est pas inclus dans la valeur retournée de nombre._mbsnccnt et _mbsnccnt_l substituent btom et doivent être utilisés à la place d' btom.

Si str est un pointeur null ou est count est 0, ces fonctions appelle le gestionnaire de paramètre non valide comme décrit dans Validation des paramètres, errno a la valeur EINVAL, et retourne 0 de fonction.

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

_UNICODE et non définis _MBCS

_MBCS défini

_UNICODE défini

_tcsnbcnt

_strncnt

_mbsnbcnt

_wcsncnt

_tcsnccnt

_strncnt

_mbsnbcnt

n/a

_wcsncnt

n/a

n/a

_mbsnbcnt

_wcsncnt

n/a

n/a

_mbsnccnt

n/a

n/a

_mbsnbcnt_l

_mbsnccnt_l

Configuration requise

Routine

En-tête requis

_mbsnbcnt

<mbstring.h>

_mbsnbcnt_l

<mbstring.h>

_mbsnccnt

<mbstring.h>

_mbsnccnt_l

<mbstring.h>

_strncnt

<tchar.h>

_wcsncnt

<tchar.h>

Pour plus d'informations de compatibilité, consultez l' Compatibilité dans l'introduction.

Exemple

// crt_mbsnbcnt.c

#include  <mbstring.h>
#include  <stdio.h>

int main( void )
{
   unsigned char str[] = "This is a multibyte-character string.";
   unsigned int char_count, byte_count;
   char_count = _mbsnccnt( str, 10 );
   byte_count = _mbsnbcnt( str, 10 );
   if ( byte_count - char_count )
      printf( "The first 10 characters contain %d multibyte characters\n", char_count );
   else
      printf( "The first 10 characters are single-byte.\n");
}

Sortie

The first 10 characters are single-byte.

É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

Manipulation de chaînes (CRT)

Paramètres régionaux

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

_mbsnbcat, _mbsnbcat_l