strspn, wcsspn, _mbsspn, _mbsspn_l

Zwraca indeks pierwszego znaku w ciągu, który nie należy do określonego zestawu znaków.

Ważne

_mbsspnnie można jej _mbsspn_l używać w aplikacjach wykonywanych w środowisko wykonawcze systemu Windows. Aby uzyskać więcej informacji, zobacz Funkcje CRT nieobsługiwane w aplikacjach platforma uniwersalna systemu Windows.

Składnia

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

Parametry

str
Ciąg zakończony wartością null do wyszukania.

strCharSet
Zestaw znaków zakończonych wartościami null.

locale
Ustawienia regionalne do użycia.

Wartość zwracana

Zwraca wartość całkowitą określającą długość podciągów, str który składa się wyłącznie z znaków w elem strCharSet. Jeśli str zaczyna się od znaku innego niż , strCharSetfunkcja zwraca wartość 0.

Uwagi

Funkcja strspn zwraca indeks pierwszego znaku, str który nie należy do zestawu znaków w obiekcie strCharSet. Wyszukiwanie nie zawiera znaków null zakończenia.

wcsspni _mbsspn są wersjami znaków wielobajtowych i wielobajtowych .strspn Argumenty to wcsspn ciągi o szerokim znaku. Argumenty funkcji to ciągi wielobajtowe _mbsspn znaków. _mbsspn weryfikuje jego parametry. Jeśli str lub strCharSet jest NULL, wywoływana jest nieprawidłowa procedura obsługi parametrów, zgodnie z opisem w temacie Weryfikacja parametru . Jeśli wykonywanie jest dozwolone do kontynuowania, _mbspn ustawia errno wartość EINVAL i zwraca wartość 0. strspn i wcsspn nie weryfikuj ich parametrów. Te trzy funkcje zachowują się identycznie inaczej.

Na wartość wyjściową ma wpływ ustawienie LC_CTYPE ustawienia kategorii ustawień regionalnych. W celu uzyskania więcej informacji, zobacz następujący temat: setlocale. Wersje tych funkcji bez sufiksu _l używają bieżących ustawień regionalnych dla tego zachowania zależnego od ustawień regionalnych. Wersje z _l sufiksem są identyczne, z tą różnicą, że używają parametru ustawień regionalnych przekazanych zamiast. Aby uzyskać więcej informacji, zobacz Ustawienia regionalne.

Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.

Mapowania procedur tekstu ogólnego

Procedura TCHAR.H _UNICODE i _MBCS niezdefiniowane _MBCS Zdefiniowane _UNICODE Zdefiniowane
_tcsspn strspn _mbsspn wcsspn
N/a N/a _mbsspn_l N/a

Wymagania

Procedura Wymagany nagłówek
strspn <string.h>
wcsspn <string.h> lub <wchar.h>
_mbsspn, _mbsspn_l <mbstring.h>

Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.

Przykład

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

Zobacz też

Manipulowanie ciągami
ustawienia regionalne
Interpretacja sekwencji znaków wielobajtowych
_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