Sdílet prostřednictvím


strpbrk, wcspbrk, _mbspbrk, _mbspbrk_l

Prohledá řetězce pro znaky v zadaných znakových sadách.

Důležité

_mbspbrka _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 strCharSetstrnebo 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.

wcspbrka _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 constna 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 Definovány _UNICODE Definovány
_tcspbrk strpbrk _mbspbrk wcspbrk
N/a N/a _mbspbrk_l N/a

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