Partager via


_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l

Retourne le nombre de caractères ou d'octets parmi un nombre spécifié de caractères.

Important

_mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, et _mbsnccnt_l ne peuvent pas être utilisées dans les applications qui s'exécutent dans le Windows Runtime.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 octets à examiner dans str.

  • locale
    Paramètres régionaux à utiliser.

Valeur de retour

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

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

Notes

_mbsnbcnt et _mbsnbcnt_l retournent le nombre d'octets trouvés dans les count premiers des caractères multioctets de str. _mbsnbcnt et _mbsnbcnt_l remplacent mtob et doivent être utilisés à la place d'mtob.

_mbsnccnt et _mbsnccnt_l comptent le nombre de caractères trouvés dans les premiers count des bits de 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 remplacent btom et doivent être utilisés à la place d'btom.

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

La valeur de la sortie est affectée par la valeur du paramètre de la catégorie LC_CTYPE des paramètres régionaux ; consultez setlocale, pour plus d'informations. Les versions de ces fonctions sans le suffixe _l utilisent les paramètres régionaux pour ce comportement dépendant des paramètres régionaux ; les versions avec le suffixe _l sont identiques, sauf qu'elles utilisent à la place les paramètres régionaux transmis. Pour plus d'informations, consultez Paramètres régionaux.

Mappages de routines de texte générique

Routine

_UNICODE et _MBCS non définis

_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 sur la compatibilité, consultez Compatibilité.

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 Exemples d'appel de plateforme.

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