Partager via


strspn, wcsspn, _mbsspn, _mbsspn_l

Retourne l’index du premier caractère d’une chaîne qui n’appartient pas à un jeu de caractères spécifié.

Important

_mbsspn et _mbsspn_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 strspn(
   const char *str,
   const char *strCharSet
);
size_t wcsspn(
   const wchar_t *str,
   const wchar_t *strCharSet
);
size_t _mbsspn(
   const unsigned char *str,
   const unsigned char *strCharSet
);
size_t _mbsspn_l(
   const unsigned char *str,
   const unsigned char *strCharSet,
   _locale_t locale
);

Paramètres

str
Chaîne terminée par Null à trouver.

strCharSet
Jeu de caractères se terminant par null.

locale
Paramètres régionaux à utiliser.

Valeur retournée

Retourne une valeur entière spécifiant la longueur de la sous-chaîne dans str laquelle se compose entièrement de caractères strCharSet. Si str commence par un caractère non compris strCharSet, la fonction retourne 0.

Notes

La strspn fonction retourne l’index du premier caractère qui str n’appartient pas au jeu de caractères dans strCharSet. La recherche n’inclut pas de caractères null de fin.

wcsspn et _mbsspn sont des versions à caractères larges et à caractères multioctets de strspn. Les arguments de wcsspn ces chaînes sont des chaînes à caractères larges. Les arguments de _mbsspn ce sont des chaînes de caractères multioctets. _mbsspn valide ses paramètres. Si str ou strCharSet est 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, _mbspn affecte à errno la valeur EINVAL et retourne 0. strspn et wcsspn 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
_tcsspn strspn _mbsspn wcsspn
n/a n/a _mbsspn_l n/a

Spécifications

Routine En-tête requis
strspn <string.h>
wcsspn <string.h> ou <wchar.h>
_mbsspn, _mbsspn_l <mbstring.h>

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

Exemple

// crt_strspn.c
// This program uses strspn to determine
// the length of the segment in the string "cabbage"
// consisting of a's, b's, and c's. In other words,
// it finds the first non-abc letter.
//

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

int main( void )
{
   char string[] = "cabbage";
   int  result;
   result = strspn( string, "abc" );
   printf( "The portion of '%s' containing only a, b, or c "
           "is %d bytes long\n", string, result );
}
The portion of 'cabbage' containing only a, b, or c is 5 bytes long

Voir aussi

Manipulation de chaîne
Paramètres régionaux
Interprétation des séquences de caractères multioctets
_strspnp, _wcsspnp, _mbsspnp, _mbsspnp_l
strcspn, wcscspn, _mbscspn, _mbscspn_l
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