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 _mbspbrk
NULL
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_t
zurü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