strpbrk
, wcspbrk
, , _mbspbrk
_mbspbrk_l
Prohledá řetězce pro znaky v zadaných znakových sadách.
Důležité
_mbspbrk
a _mbspbrk_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
char *strpbrk(
const char *str,
const char *strCharSet
); // C only
char *strpbrk(
char *str,
const char *strCharSet
); // C++ only
const char *strpbrk(
const char *str,
const char *strCharSet
); // C++ only
wchar_t *wcspbrk(
const wchar_t *str,
const wchar_t *strCharSet
); // C only
wchar_t *wcspbrk(
wchar_t *str,
const wchar_t *strCharSet
); // C++ only
const wchar_t *wcspbrk(
const wchar_t *str,
const wchar_t *strCharSet
); // C++ only
unsigned char *_mbspbrk(
const unsigned char *str,
const unsigned char *strCharSet
); // C only
unsigned char *_mbspbrk(
unsigned char *str,
const unsigned char *strCharSet
); // C++ only
const unsigned char *_mbspbrk(
const unsigned char *str,
const unsigned char *strCharSet
); // C++ only
unsigned char *_mbspbrk_l(
const unsigned char *str,
const unsigned char *strCharSet,
_locale_t locale
); // C only
unsigned char *_mbspbrk_l(
unsigned char *str,
const unsigned char *strCharSet,
_locale_t locale
); // C++ only
const unsigned char *_mbspbrk_l(
const unsigned char *str,
const unsigned char* strCharSet,
_locale_t locale
); // C++ only
Parametry
str
Null-terminated, searched string.
strCharSet
Znaková sada s ukončenou hodnotou null.
locale
Národní prostředí, které se má použít.
Vrácená hodnota
Vrátí ukazatel na první výskyt libovolného znaku od znaku NULL
in strCharSet
str
nebo ukazatel, pokud dva řetězcové argumenty nemají společné žádné znaky.
Poznámky
Funkce strpbrk
vrátí ukazatel na první výskyt znaku, který str
patří sadě znaků v strCharSet
. Hledání neobsahuje ukončující znak null.
wcspbrk
a _mbspbrk
jsou širokoznakové a vícebajtové verze .strpbrk
Argumenty a návratová hodnota jsou řetězce širokého znaku wcspbrk
. Argumenty a návratová _mbspbrk
hodnota jsou řetězce s vícebajtovými znaky.
_mbspbrk
ověří jeho parametry. Pokud str
nebo strCharSet
je NULL
, je vyvolána neplatná obslužná rutina parametru, jak je popsáno v ověření parametru. Pokud je povoleno pokračovat provádění, _mbspbrk
vrátí NULL
a nastaví errno
hodnotu EINVAL
. strpbrk
a wcspbrk
neověřujte jejich parametry. Tyto tři funkce se chovají stejně jinak.
_mbspbrk
je podobný s _mbscspn
výjimkou toho, že _mbspbrk
vrací ukazatel místo hodnoty typu size_t
.
V jazyce C tyto funkce přebírají const
ukazatel pro první argument. V jazyce C++ jsou k dispozici dvě přetížení. Přetížení přetěžování, které vrací ukazatel const
na const
; verze, která přebírá ukazatel na ne-const
vrátí ukazatel na non-const
. _CRT_CONST_CORRECT_OVERLOADS
Makro je definováno, pokud jsou k dispozici obě const
i jinéconst
verze těchto funkcí. Pokud pro obě přetížení jazyka C++ požadujete jinéconst
chování, definujte symbol _CONST_RETURN
.
Výstupní hodnota je ovlivněna nastavením LC_CTYPE
nastavení kategorie národního prostředí; další informace naleznete v tématu 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 je shodná s tím rozdílem, že místo toho používá parametr národního prostředí předaný. 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ý |
---|---|---|---|
_tcspbrk |
strpbrk |
_mbspbrk |
wcspbrk |
není k dispozici | není k dispozici | _mbspbrk_l |
není k dispozici |
Požadavky
Rutina | Požadovaný hlavičkový soubor |
---|---|
strpbrk |
<string.h> |
wcspbrk |
<string.h> nebo <wchar.h> |
_mbspbrk , _mbspbrk_l |
<mbstring.h> |
Další informace o kompatibilitě naleznete v tématu Kompatibilita.
Příklad
// crt_strpbrk.c
#include <string.h>
#include <stdio.h>
int main( void )
{
char string[100] = "The 3 men and 2 boys ate 5 pigs\n";
char *result = NULL;
// Return pointer to first digit in "string".
printf( "1: %s\n", string );
result = strpbrk( string, "0123456789" );
printf( "2: %s\n", result++ );
result = strpbrk( result, "0123456789" );
printf( "3: %s\n", result++ );
result = strpbrk( result, "0123456789" );
printf( "4: %s\n", result );
}
1: The 3 men and 2 boys ate 5 pigs
2: 3 men and 2 boys ate 5 pigs
3: 2 boys ate 5 pigs
4: 5 pigs
Viz také
Manipulace s řetězci
Národní prostředí
Interpretace vícebajtových sekvencí znaků
strcspn
, wcscspn
, , _mbscspn
_mbscspn_l
strchr
, wcschr
, , _mbschr
_mbschr_l
strrchr
, wcsrchr
, , _mbsrchr
_mbsrchr_l