strspn, wcsspn, _mbsspn, _mbsspn_l
Zwraca indeks pierwszego wystąpienia znaku w ciągu, który nie należy do zestawu znaków.
Ważne |
---|
_mbsspn i _mbsspn_l nie można używać w aplikacjach korzystających ze środowiska wykonawczego systemu Windows.Aby uzyskać więcej informacji, zobacz Funkcje CRT nieobsługiwane przez /ZW. |
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 przeszukania.strCharSet
Zestaw znaków zakończony znakiem null.locale
Ustawienia regionalne do użycia.
Wartość zwracana
Zwraca wartość całkowitą określającą długość podciągu w str który składa się w całości ze znaków w strCharSet*.* Jeśli str zaczyna się od znaku nie w strCharSet*,* funkcja zwraca 0.
Uwagi
strspn funkcja zwraca indeks pierwszego wystąpienia znaku w str , który nie należy do zestawu znaków w strCharSet.Wyszukiwanie nie obejmuje kończących się pustych znaków.
wcsspn i _mbsspn są wersjami znaków dwubajtowych i znaków wielobajtowych strspn**.** Argumenty wcsspn są ciągami znaków dwubajtowych; te z _mbsspn są ciągami znaków wielobajtowych._mbsspn sprawdza poprawność parametrów.Jeśli str lub strCharSet ma wartośćNULL, zostanie wywołana procedura obsługi nieprawidłowego parametru, zgodnie z opisem w Sprawdzanie poprawności parametru .Jeśli wykonanie może być kontynuowane, _mbspn ustawia errno jako EINVAL i zwraca 0.strspn i wcsspn nie sprawdzają poprawności swoich parametrów.Te trzy funkcje w innych wypadkach zachowują się identycznie.
Wartość wyjściowa jest zależna od konfiguracji ustawień kategorii LC_CTYPE ustawień regionalnych; zobacz setlocale, aby uzyskać więcej informacji.Wersje tych funkcji, które nie mają przyrostka _l używają bieżących ustawień regionalnych dla wszelkich zachowań zależnych od ustawień lokalnych; wersje, które mają przyrostek _l są identyczne, z tą różnicą, że w zamian korzystają z przekazanego parametru ustawień regionalnych.Aby uzyskać więcej informacji, zobacz Regionalne.
Rutynowe mapowania zwykłego tekstu
Procedura Tchar.h |
_UNICODE & _MBCS nie zdefiniowano |
_MBCS zdefiniowano |
_UNICODE zdefiniowany |
---|---|---|---|
_tcsspn |
strspn |
_mbsspn |
wcsspn |
Nie dotyczy |
Nie dotyczy |
_mbsspn_l |
Nie dotyczy |
Wymagania
Procedura |
Wymagany nagłówek |
---|---|
strspn |
<Ciąg> |
wcsspn |
<ciągo.h> lub <wchar.h> |
_mbsspn, _mbsspn_l |
<mbCiąg.h> |
Dodatkowe informacje 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 );
}
Odpowiednik w programie .NET Framework
Zobacz też
Informacje
Interpretacja wielobajtowych sekwencji znaków
_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