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
Siehe auch
Referenz
Zeichenfolgenbearbeitung (CRT)
Interpretation von Mehrbytezeichensequenzen
strcspn, wcscspn, _mbscspn, _mbscspn_l