Freigeben über


strpbrk, , wcspbrk_mbspbrk_mbspbrk_l

Durchsucht Zeichenfolgen nach Zeichen in angegebenen Zeichensätzen.

Wichtig

_mbspbrk und _mbspbrk_l können nicht in Anwendungen verwendet werden, die in Windows-Runtime ausgeführt werden. Weitere Informationen finden Sie im Artikel CRT functions not supported in Universal Windows Platform apps (In Apps für die universelle Windows-Plattform nicht unterstützte CRT-Funktionen).

Syntax

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

Parameter

str
Auf NULL endende gesuchte Zeichenfolge.

strCharSet
Mit NULL endender Zeichensatz.

locale
Zu verwendendes Gebietsschema.

Rückgabewert

Gibt einen Zeiger auf das erste Vorkommen eines beliebigen Zeichens von strCharSet in str zurück oder einen NULL-Zeiger, wenn zwei Zeichenfolgenargumente über kein gemeinsames Zeichen verfügen.

Hinweise

Die strpbrk-Funktion gibt einen Zeiger auf das erste Vorkommen eines Zeichens in str zurück, das zu dem Zeichensatz in strCharSet gehört. Die Suche enthält nicht das endende Nullzeichen.

wcspbrk und _mbspbrk sind Breitzeichen- und Multibytezeichenversionen von strpbrk. Die Argumente und der Rückgabewert wcspbrk sind Zeichenfolgen mit breitem Zeichen. Die Argumente und der Rückgabewert sind _mbspbrk Multibyte-Zeichenfolgen.

_mbspbrk überprüft die eigenen Parameter. Wenn str oder strCharSet ist NULL, wird der ungültige Parameterhandler aufgerufen, wie in der Parameterüberprüfung beschrieben. Wenn die weitere Ausführung zugelassen wird, gibt _mbspbrkNULL zurück und setzt errno auf EINVAL. strpbrk und wcspbrk überprüfen Sie ihre Parameter nicht. Diese drei Funktionen verhalten sich andernfalls identisch.

_mbspbrk ist vergleichbar mit _mbscspn der Ausnahme, dass _mbspbrk ein Zeiger anstelle eines Werts vom Typ size_tzurückgegeben wird.

In C akzeptieren diese Funktionen einen const-Zeiger als erstes Argument. In C++ sind zwei Überladungen verfügbar. Die Überladung, die einen Zeiger zu const akzeptiert, gibt einen Zeiger zu const zurück; die Version, die einen Zeiger auf Nicht-const akzeptiert, gibt einen Zeiger auf Nicht-const zurück. Das Makro _CRT_CONST_CORRECT_OVERLOADS wird definiert, wenn sowohl die const Als auch die Nicht-Versionconst dieser Funktionen verfügbar sind. Wenn Sie das Nicht-Verhalten für beide C++-const Überladungen benötigen, definieren Sie das Symbol _CONST_RETURN.

Der Ausgabewert wird durch die Einstellung der LC_CTYPE Kategorieeinstellung des Gebietsschemas beeinflusst. Weitere Informationen finden Sie unter setlocale. Die Versionen dieser Funktionen ohne das _l-Suffix verwenden das aktuelle Gebietsschema für dieses vom Gebietsschema abhängige Verhalten. Die Version mit dem _l-Suffix ist beinahe identisch, verwendet jedoch stattdessen den ihr übergebenen Gebietsschemaparameter. Weitere Informationen finden Sie unter Locale.

Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.

Mapping generischer Textroutinen

TCHAR.H-Routine _UNICODE und _MBCS nicht definiert _MBCS definiert _UNICODE definiert
_tcspbrk strpbrk _mbspbrk wcspbrk
Nicht zutreffend Nicht zutreffend _mbspbrk_l Nicht zutreffend

Anforderungen

Routine Erforderlicher Header
strpbrk <string.h>
wcspbrk <string.h> oder <wchar.h>
_mbspbrk, _mbspbrk_l <mbstring.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.

Beispiel

// 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

Siehe auch

Zeichenfolgenbearbeitung
Gebietsschema
Interpretation von Multibytezeichensequenzen
strcspn, , wcscspn_mbscspn_mbscspn_l
strchr, , wcschr_mbschr_mbschr_l
strrchr, , wcsrchr_mbsrchr_mbsrchr_l