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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : pendant toute l’année 2024, nous allons éliminer progressivement Problèmes GitHub comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, voir :Soumettre et afficher des commentaires pour