strcspn, wcscspn, _mbscspn, _mbscspn_l
Retourne l'index de la première occurrence dans une chaîne, d'un caractère qui appartient à un jeu de caractères.
Important
_mbschr et _mbschr_lne 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 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 terminée par Null ayant déjà été parcourue.strCharSet
Jeu de caractères se terminant par null.locale
Paramètres régionaux à utiliser.
Valeur de retour
Ces fonctions retournent l'index du premier caractère dans str qui est dans strCharSet. Si aucun des caractères dans str n'est dans strCharSet, la valeur de retour est 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 élargis et à caractères multi-octets de strcspn. Les arguments de wcscspn sont des chaînes à caractères larges ; ceux de _mbscspn sont des chaînes de caractères multi-octets.
_mbscspn valide ses paramètres. Si l'un de str ou strCharSet est un pointeur null, le gestionnaire de paramètres non valides est appelé, comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, la fonction retourne 0 et définit errno avec la valeur 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 ; 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 TCHAR.H |
_UNICODE & _MBCS non définis |
_MBCS défini |
_UNICODE défini |
---|---|---|---|
_tcscspn |
strcspn |
_mbscspn |
wcscspn |
n/a |
n/a |
_mbscspn_l |
n/a |
Configuration requise
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 Compatibilité.
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( "", "" );
}
Équivalent .NET Framework
Voir aussi
Référence
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