Sdílet prostřednictvím


strcspn, wcscspn, _mbscspn, _mbscspn_l

Vrátí index prvního výskytu v řetězci znaku, který patří do sady znaků.

Důležité

_mbschra _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 strstrCharSet, pak návratová hodnota je délka str.

Žádná návratová hodnota není vyhrazena k označení chyby.

Poznámky

wcscspna _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 strCharSetstr 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 EINVALhodnotu . 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 Definovány _UNICODE Definovány
_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