Condividi tramite


strspn, wcsspn, _mbsspn_mbsspn_l

Restituisce l'indice del primo carattere in una stringa che non appartiene a un set specificato di caratteri.

Importante

_mbsspn e _mbsspn_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 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
);

Parametri

str
Stringa con terminazione Null in cui eseguire la ricerca.

strCharSet
Set di caratteri con terminazione Null.

locale
Impostazioni locali da usare.

Valore restituito

Restituisce un valore intero che specifica la lunghezza della sottostringa in str costituita interamente da caratteri in strCharSet. Se str inizia con un carattere diverso da , strCharSetla funzione restituisce 0.

Osservazioni:

La strspn funzione restituisce l'indice del primo carattere in str che non appartiene al set di caratteri in strCharSet. La ricerca non include caratteri Null di terminazione.

wcsspn e _mbsspn sono versioni con caratteri wide e caratteri multibyte di strspn. Gli argomenti di sono stringhe di wcsspn caratteri wide. Gli argomenti di sono stringhe di _mbsspn caratteri multibyte. _mbsspn convalida i propri parametri. Se str o strCharSet è NULL, viene richiamato il gestore di parametri non validi, come descritto in Convalida dei parametri . Se l'esecuzione può continuare, _mbspn imposta errno su EINVAL e restituisce 0. strspn e wcsspn 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
_tcsspn strspn _mbsspn wcsspn
n/d n/d _mbsspn_l n/d

Requisiti

Ciclo Intestazione obbligatoria
strspn <string.h>
wcsspn <string.h> o <wchar.h>
_mbsspn, _mbsspn_l <mbstring.h>

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

Esempio

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

Vedi anche

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