strpbrk, wcspbrk, _mbspbrk, _mbspbrk_l
Skanuje ciągi znaków w określonych zestawach znaków.
![]() |
---|
_mbspbrk i _mbspbrk_l nie można używać w aplikacjach korzystających ze środowiska wykonawczego systemu Windows.Aby uzyskać więcej informacji, zobacz Funkcje CRT nieobsługiwane przez /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
Poszukiwany ciąg przerwany wartością null.strCharSet
Zestaw znaków zakończony znakiem null.locale
Ustawienia regionalne do użycia.
Wartość zwracana
Zwraca wskaźnik do pierwszego wystąpienia dowolnego znaku z strCharSet w str, lub NULL wskaźnik, jeśli ciąg dwóch argumentów nie ma znaków wspólnych.
Uwagi
strpbrk funkcja zwraca wskaźnik do pierwszego wystąpienia znaku w str należący do zestawu znaków w strCharSet.Wyszukiwanie nie obejmuje kończącego się pustego znaku.
wcspbrk i _mbspbrk są wersjami znaków dwubajtowych i znaków wielobajtowych strpbrk.Argumenty i wartość zwracana przez wcspbrk są ciągami szerokich znaków; te z _mbspbrk są ciągami znaków wielobajtowych.
_mbspbrk sprawdza poprawność parametrów.Jeśli str lub strCharSet ma wartość NULL, zostanie wywołana procedura obsługi nieprawidłowego parametru, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może być kontynuowane, _mbspbrk zwraca NULL i ustawia errno jako EINVAL.strpbrk i wcspbrk nie sprawdzają poprawności swoich parametrów.Te trzy funkcje w innych wypadkach zachowują się identycznie.
_mbspbrk jest podobny do _mbscspn z tym wyjątkiem, że _mbspbrk zwraca wskaźnik, a nie wartość typu size_t.
W języku C, te funkcje podejmują wskaźnik const dla pierwszego argumentu.W języku C++ dostępne są dwa przeciążenia.Przeciążenie wskaźnika do const zwraca wskaźnik do const; numeru wersji, która ma wskaźnik do non -const zwraca wskaźnik do non -const._CONST_CORRECT_OVERLOADS makro jest zdefiniowany, jeśli oba const i nie const wersje tych funkcji są dostępne.Jeśli wymagasz zachowania nie-const dla obu przeciążeń C++, określ symbol _CONST_RETURN.
Wartość wyjściowa jest zależna od konfiguracji ustawień kategorii LC_CTYPE ustawień regionalnych; aby uzyskać więcej informacji, zobacz setlocaleWersje tych funkcji, które nie mają przyrostka _l używają bieżących ustawień regionalnych dla wszelkich zachowań zależnych od ustawień lokalnych; wersja, która ma przyrostek _l jest identyczna, z tą różnicą, że w zamian korzysta z przekazanego parametru ustawień regionalnych.Aby uzyskać więcej informacji, zobacz Regionalne.
Rutynowe mapowania zwykłego tekstu
Procedura Tchar.h |
_UNICODE & _MBCS nie zdefiniowano |
_MBCS zdefiniowano |
_UNICODE zdefiniowany |
---|---|---|---|
_tcspbrk |
strpbrk |
_mbspbrk |
wcspbrk |
Nie dotyczy |
Nie dotyczy |
_mbspbrk_l |
Nie dotyczy |
Wymagania
Procedura |
Wymagany nagłówek |
---|---|
strpbrk |
<Ciąg> |
wcspbrk |
<ciągo.h> lub <wchar.h> |
_mbspbrk, _mbspbrk_l |
<mbCiąg.h> |
Aby uzyskać więcej informacji na temat zgodności, zobacz Zgodność.
Przykład
// 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 );
}
Odpowiednik w programie .NET Framework
Index wszystkich ciągów systemu
Zobacz też
Informacje
Interpretacja wielobajtowych sekwencji znaków
strcspn, wcscspn, _mbscspn, _mbscspn_l