strcspn
, wcscspn
, _mbscspn
, _mbscspn_l
Zwraca indeks pierwszego wystąpienia w ciągu znaku należącego do zestawu znaków.
Ważne
_mbschr
nie można jej _mbschr_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 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
);
Parametry
str
Ciąg przeszukany o wartości null.
strCharSet
Zestaw znaków zakończonych wartościami null.
locale
Ustawienia regionalne do użycia.
Wartość zwracana
Te funkcje zwracają indeks pierwszego znaku w str
obiekcie w pliku strCharSet
. Jeśli żaden z znaków w str
strCharSet
pliku nie ma znaku , wartość zwracana jest długością str
.
Żadna wartość zwracana nie jest zarezerwowana, aby wskazać błąd.
Uwagi
wcscspn
i _mbscspn
są wersjami znaków wielobajtowych i wielobajtowych .strcspn
Argumenty to wcscspn
ciągi o szerokim znaku. Argumenty i wartość zwracana wartości to ciągi wielobajtowe _mbscspn
znaków.
_mbscspn
weryfikuje jego parametry. Jeśli element str
lub strCharSet
jest wskaźnikiem o wartości null, wywoływana jest nieprawidłowa procedura obsługi parametrów, zgodnie z opisem w temacie Walidacja parametru. Jeśli wykonywanie jest dozwolone do kontynuowania, funkcja zwraca wartość 0 i ustawia wartość errno
.EINVAL
strcspn
i wcscspn
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 |
---|---|---|---|
_tcscspn |
strcspn |
_mbscspn |
wcscspn |
Wymagania
Procedura | Wymagany nagłówek |
---|---|
strcspn |
<string.h> |
wcscspn |
<string.h> lub <wchar.h> |
_mbscspn , _mbscspn_l |
<mbstring.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Przykład
// 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
Zobacz też
Manipulowanie ciągami
ustawienia regionalne
Interpretacja sekwencji znaków wielobajtowych
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
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla