strpbrk, wcspbrk, _mbspbrk, _mbspbrk_l
Prohledává řetězce na znaky v zadaných znakových sadách.
Důležité |
---|
_mbspbrk a _mbspbrk_l nelze použít v aplikacích, které jsou spouštěny v modulu Windows Runtime.Další informace naleznete v tématu CRT funkce nejsou podporovány s /ZW. |
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
Hledaný řetězec zakončený hodnotou null.strCharSet
Sada znaků zakončených znakem null.locale
Použité národní prostředí.
Vrácená hodnota
Vrací ukazatel na první výskyt libovolného znaku z strCharSet v str nebo ukazatel NULL, pokud tyto dva řetězcové argumenty nemají žádné znaky společné.
Poznámky
Funkce strpbrk vrátí ukazatel na první výskyt znaku v str, který patří do sady znaků v strCharSet.Hledání nezahrnuje ukončovací znak null.
wcspbrk a _mbspbrk jsou širokoznaká verze a vícebajtová znaková verze strpbrk.Argumenty a vrácené hodnoty wcspbrk jsou širokoznaké řetězce. Hodnoty _mbspbrk jsou vícebajtové znakové řetězce.
_mbspbrk ověří jeho parametry.Pokud str nebo strCharSet je NULL, je vyvolána obslužná rutina neplatné parametru, jak je popsáno v Ověření parametru.Pokud provádění může pokračovat, _mbspbrk vrátí NULL a nastaví errno na EINVAL.strpbrk a wcspbrk neověří jejich parametry.Tyto tři funkce se chovají identicky jinak.
_mbspbrk se podobá _mbscspn s tím rozdílem, že _mbspbrk vrací ukazatel, nikoli hodnotu typu size_t.
V C tyto funkce použijí ukazatel const pro první argument.V jazyce C++ jsou k dispozici dvě přetížení.Přetížení přijímající ukazatel na const vrací ukazatel na const; verze, která přijímá ukazatel na ne const, vrací ukazatel na ne const.Makro _CONST_CORRECT_OVERLOADS je definováno, pokud jsou verze const i ne const těchto funkcí k dispozici.Vyžadujete-li non-const chování pro obě přetížení C++, definujte symbol _CONST_RETURN.
Výstupní hodnota je ovlivněna nastavením kategorie LC_CTYPE národního prostředí; viz setlocale pro další informace.Verze těchto funkcí bez přípony _l používají aktuální národní prostředí pro toto chování závislé na národním prostředí. Verze s příponou _l jsou stejné s tím rozdílem, že používají předaný parametr národního prostředí.Další informace naleznete v tématu Národní prostředí.
Rutinní mapování obecného textu
Rutina TCHAR.H |
_UNICODE & _MBCS není definováno |
_MBCS definováno |
_UNICODE definováno |
---|---|---|---|
_tcspbrk |
strpbrk |
_mbspbrk |
wcspbrk |
není k dispozici |
není k dispozici |
_mbspbrk_l |
není k dispozici |
Požadavky
Rutina |
Požadované záhlaví |
---|---|
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 );
}
Ekvivalent v rozhraní .NET Framework
Viz také
Referenční dokumentace
Výklad sekvencí vícebajtových znaků
strcspn, wcscspn, _mbscspn, _mbscspn_l