Partager via


strcspn, wcscspn, _mbscspn, _mbscspn_l

Retourne l’index de la première occurrence au sein d’une chaîne d’un caractère qui appartient à un jeu de caractères.

Important

_mbschr et _mbschr_l ne peuvent pas être utilisées dans les applications qui s'exécutent dans Windows Runtime. Pour plus d’informations, consultez Fonctions CRT non prises en charge dans les applications de la plateforme Windows universelle.

Syntaxe

size_t strcspn(
   const char *str,
   const char *strCharSet
);
size_t wcscspn(
   const wchar_t *str,
   const wchar_t *strCharSet
);
size_t _mbscspn(
   const unsigned char *str,
   const unsigned char *strCharSet
);
size_t _mbscspn_l(
   const unsigned char *str,
   const unsigned char *strCharSet,
   _locale_t locale
);

Paramètres

str
Chaîne se terminant par un caractère Null faisant l’objet de la recherche.

strCharSet
Jeu de caractères se terminant par null.

locale
Paramètres régionaux à utiliser.

Valeur retournée

Ces fonctions retournent l’index du premier caractère de str qui se trouve dans strCharSet. Si aucun des caractères de str ne se trouve dans strCharSet, la valeur de retour correspond à la longueur de str.

Aucune valeur de retour n'est réservée pour indiquer une erreur.

Notes

wcscspn et _mbscspn sont des versions à caractères larges et à caractères multioctets de strcspn. Les arguments de wcscspn ces chaînes sont des chaînes à caractères larges. Les arguments et la valeur de retour sont _mbscspn des chaînes de caractères multioctets.

_mbscspn valide ses paramètres. Si l’un str ou l’autre strCharSet est un pointeur Null, le gestionnaire de paramètres non valide est appelé, comme décrit dans la validation des paramètres. Si l’exécution est autorisée à se poursuivre, la fonction retourne 0 et définit errno sur EINVAL. strcspn et wcscspn ne valident pas leurs paramètres. Ces trois fonctions se comportent sinon de façon identique.

La valeur de sortie est affectée par le paramètre de catégorie LC_CTYPE des paramètres régionaux. Pour plus d’informations, consultez setlocale. 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 Locale.

Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.

Mappages de routine de texte générique

Routine TCHAR.H _UNICODE et _MBCS non défini _MBCS Défini _UNICODE Défini
_tcscspn strcspn _mbscspn wcscspn

Spécifications

Routine En-tête requis
strcspn <string.h>
wcscspn <string.h> ou <wchar.h>
_mbscspn, _mbscspn_l <mbstring.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

Exemple

// crt_strcspn.c

#include <string.h>
#include <stdio.h>

void test( const char * str, const char * strCharSet )
{
   int pos = strcspn( str, strCharSet );
   printf( "strcspn( \"%s\", \"%s\" ) = %d\n", str, strCharSet, pos );
}

int main( void )
{
   test( "xyzbxz", "abc" );
   test( "xyzbxz", "xyz" );
   test( "xyzbxz", "no match" );
   test( "xyzbxz", "" );
   test( "", "abc" );
   test( "", "" );
}
strcspn( "xyzbxz", "abc" ) = 3
strcspn( "xyzbxz", "xyz" ) = 0
strcspn( "xyzbxz", "no match" ) = 6
strcspn( "xyzbxz", "" ) = 6
strcspn( "", "abc" ) = 0
strcspn( "", "" ) = 0

Voir aussi

Manipulation de chaîne
Paramètres régionaux
Interprétation des séquences de caractères multioctets
strncat, _strncat_l, wcsncat, _wcsncat_l, _mbsncat, _mbsncat_l
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l
strrchr, wcsrchr, _mbsrchr, _mbsrchr_l
strspn, wcsspn, _mbsspn, _mbsspn_l