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 unter CRT-Funktionen nicht mit /ZW unterstützt.

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 umfasst nicht das abschließende Nullzeichen.

wcspbrk und _mbspbrk sind Breitzeichen- und Multibytezeichenversionen von strpbrk. Die Argumente und der Rückgabewert von wcspbrk sind Breitzeichen-Zeichenfolgen; die von _mbspbrk sind Mehrbyte-Zeichenfolgen.

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

_mbspbrk ähnelt _mbscspn, außer dass _mbspbrk einen Zeiger anstelle eines Werts vom Typ size_t zurückgibt.

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 _CONST_CORRECT_OVERLOADS wird definiert, wenn sowohl die const-Version als auch die Nicht-const-Version dieser Funktionen verfügbar sind. Wenn Sie das Nicht-const-Verhalten für beide C++-Überladungen benötigen, definieren Sie das Symbol _CONST_RETURN.

Die Ausgabewert ist von der Einstellung der LC_CTYPE-Kategorieeinstellung des Gebietsschemas betroffen. 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.

Zuordnung generischer Textroutinen

TCHAR.H-Routine

_UNICODE & _MBCS nicht definiert

_MBCS definiert

_UNICODE definiert

_tcspbrk

strpbrk

_mbspbrk

wcspbrk

nicht verfügbar

nicht verfügbar

_mbspbrk_l

nicht verfügbar

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 );
}
  

.NET Framework-Entsprechung

System::String::IndexOfAny

Siehe auch

Referenz

Zeichenfolgenbearbeitung (CRT)

Locale

Interpretation von Mehrbytezeichensequenzen

strcspn, wcscspn, _mbscspn, _mbscspn_l

strchr, wcschr, _mbschr, _mbschr_l

strrchr, wcsrchr, _mbsrchr, _mbsrchr_l