Partager via


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

System::String::Substring

Voir aussi

Référence

Manipulation de chaînes (CRT)

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