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