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 la sortie est affectée par la valeur du paramètre de la 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 routines de texte générique
Routine TCHAR.H | _UNICODE et _MBCS non définis |
_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înes
Paramètres régionaux
Interprétation des séquences de caractères multioctets
strncat
, , _strncat_l
, _wcsncat_l
wcsncat
, , _mbsncat
_mbsncat_l
strncmp
, , wcsncmp
_mbsncmp
, ,_mbsncmp_l
strncpy
, , _strncpy_l
, _wcsncpy_l
wcsncpy
, , _mbsncpy
_mbsncpy_l
_strnicmp
, , _wcsnicmp
, _strnicmp_l
_mbsnicmp
, , _wcsnicmp_l
_mbsnicmp_l
strrchr
, , wcsrchr
_mbsrchr
, ,_mbsrchr_l
strspn
, , wcsspn
_mbsspn
, ,_mbsspn_l