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
_mbsspn
nie 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ż , strCharSet
funkcja 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.
wcsspn
i _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. Aby uzyskać więcej informacji, zobacz 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 zdefiniowany |
_UNICODE zdefiniowany |
---|---|---|---|
_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