strcspn
, wcscspn
, , _mbscspn
_mbscspn_l
Vrátí index prvního výskytu v řetězci znaku, který patří do sady znaků.
Důležité
_mbschr
a _mbschr_l
nelze je použít v aplikacích, které se spouští v prostředí Windows Runtime. Další informace najdete v tématu Funkce CRT, které nejsou v aplikacích Univerzální platforma Windows podporované.
Syntaxe
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
Hledaný řetězec ukončený hodnotou null.
strCharSet
Znaková sada s ukončenou hodnotou null.
locale
Národní prostředí, které se má použít.
Vrácená hodnota
Tyto funkce vrátí index prvního znaku, který str
je v strCharSet
. Pokud žádný z znaků není v str
strCharSet
, pak návratová hodnota je délka str
.
Žádná návratová hodnota není vyhrazena k označení chyby.
Poznámky
wcscspn
a _mbscspn
jsou širokoznakové a vícebajtové verze .strcspn
Argumenty jsou řetězce širokého wcscspn
znaku. Argumenty a návratová _mbscspn
hodnota jsou řetězce s vícebajtovými znaky.
_mbscspn
ověří jeho parametry. Pokud je nebo strCharSet
str
je ukazatel null, je vyvolána neplatná obslužná rutina parametru, jak je popsáno v ověření parametru. Pokud je spuštění povoleno pokračovat, vrátí funkce hodnotu 0 a nastaví errno
na EINVAL
hodnotu . strcspn
a wcscspn
neověřujte jejich parametry. Tyto tři funkce se chovají stejně jinak.
Výstupní hodnota je ovlivněna nastavením LC_CTYPE
nastavení kategorie národního prostředí. Další informace najdete na webu setlocale
. Verze těchto funkcí bez _l
přípony používají aktuální národní prostředí pro toto chování závislé na národním prostředí. Verze s _l
příponou jsou shodné s tím rozdílem, že místo toho používají předaný parametr národního prostředí. Další informace naleznete v tématu Národní prostředí.
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Mapování rutin obecného textu
Rutina TCHAR.H | _UNICODE a _MBCS není definován |
_MBCS definovaný |
_UNICODE definovaný |
---|---|---|---|
_tcscspn |
strcspn |
_mbscspn |
wcscspn |
Požadavky
Rutina | Požadovaný hlavičkový soubor |
---|---|
strcspn |
<string.h> |
wcscspn |
<string.h> nebo <wchar.h> |
_mbscspn , _mbscspn_l |
<mbstring.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Příklad
// 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
Viz také
Manipulace s řetězci
Národní prostředí
Interpretace vícebajtových sekvencí znaků
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