Condividi tramite


strcspn, wcscspn, _mbscspn, _mbscspn_l

Restituisce l'indice della prima occorrenza in una stringa di un carattere che appartiene a un set di caratteri.

Importante

_mbschr e _mbschr_l non possono essere usati nelle applicazioni eseguite in Windows Runtime. Per altre informazioni, vedere Funzioni CRT non supportate nelle app della piattaforma UWP (Universal Windows Platform).

Sintassi

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
);

Parametri

str
Stringa cercata con terminazione Null.

strCharSet
Set di caratteri con terminazione Null.

locale
Impostazioni locali da usare.

Valore restituito

Queste funzioni restituiscono l'indice del primo carattere in str incluso in strCharSet. Se nessuno dei caratteri str è incluso in strCharSet, il valore restituito è la lunghezza di str.

Nessun valore restituito è riservato per indicare un errore.

Osservazioni:

wcscspn e _mbscspn sono versioni con caratteri wide e caratteri multibyte di strcspn. Gli argomenti di sono stringhe di wcscspn caratteri wide. Gli argomenti e il valore restituito di sono stringhe di _mbscspn caratteri multibyte.

_mbscspn convalida i propri parametri. str Se o strCharSet è un puntatore Null, viene richiamato il gestore di parametri non validi, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, la funzione restituisce 0 e imposta errno su EINVAL. strcspn e wcscspn non convalidare i relativi parametri. A parte ciò, queste tre funzioni si comportano in modo identico.

Il valore di output è interessato dall'impostazione dell'impostazione LC_CTYPE della categoria delle impostazioni locali. Per ulteriori informazioni, vedere setlocale. Le versioni di queste funzioni senza il suffisso _l usano le impostazioni locali correnti per questo comportamento dipendente dalle impostazioni locali. Le versioni con il suffisso _l sono identiche ma usano il parametro passato relativo alle impostazioni locali. Per altre informazioni, vedere Locale.

Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.

Mapping di routine di testo generico

Routine TCHAR.H _UNICODE e _MBCS non definito _MBCS Definito _UNICODE Definito
_tcscspn strcspn _mbscspn wcscspn

Requisiti

Ciclo Intestazione obbligatoria
strcspn <string.h>
wcscspn <string.h> o <wchar.h>
_mbscspn, _mbscspn_l <mbstring.h>

Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).

Esempio

// 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

Vedi anche

Manipolazione delle stringhe
impostazioni locali
Interpretazione di sequenze di caratteri multibyte
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