strpbrk, wcspbrk, _mbspbrk, _mbspbrk_l
Überprüfungszeichenfolgen für Zeichen in den angegebenen Zeichensätzen.
Wichtig |
---|
_mbspbrk und _mbspbrk_l können in Anwendungen nicht verwendet werden, die in der Windows Runtime ausführen.Weitere Informationen finden Sie unter CRT-Funktionen unterstützt nicht mit /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
Parameter
str
Auf NULL endende, Suchzeichenfolge.strCharSet
Auf NULL endende Zeichensatz.locale
Zu verwendende Gebietsschema.
Rückgabewert
Gibt einen Zeiger auf das erste Vorkommen eines beliebigen Zeichens von strCharSet in str oder einen NULL Zeiger zurück, wenn die beiden Zeichenfolgenargumente keine Zeichen gemeinsam haben.
Hinweise
Die strpbrk-Funktion gibt einen Zeiger auf das erste Vorkommen eines Zeichens in str zurück, das dem Satz von Zeichen in strCharSet gehört.Die Suche umfasst das nicht NULL.
wcspbrk und _mbspbrk sind Breitzeich und Mehrbytezeichen-Versionen von strpbrk.Die Argumente und der Rückgabewert von wcspbrk sind Breitzeichen-Zeichenfolgen; die von _mbspbrk sind Mehrbyte-Zeichenfolgen.
_mbspbrk überprüft seine Parameter.Wenn str oder strCharSetNULL ist, wird der ungültige Parameterhandler aufgerufen, wie in Parametervalidierung beschrieben.Wenn die Ausführung zulässig ist, um fortzufahren, gibt _mbspbrkNULL zurück und legt errno zu EINVAL fest.strpbrk und wcspbrk überprüfen nicht ihre Parameter.Diese drei Funktionen verhalten sich andernfalls identisch.
_mbspbrk ist zu _mbscspn außer dass zu _mbspbrk gibt ein Zeiger keinen Wert des Typs size_t ähnlich.
In C nehmen diese Funktionen einen const Zeiger für das erste Argument.In C++ sind zwei Überladungen verfügbar.Die Überladung, die einen Zeiger const übernimmt, gibt einen Zeiger auf const zurück; die Version, die Nicht-const einen Zeiger übernimmt, gibt einen Zeiger auf Nicht-const zurück.Das Makro- CONST CORRECT OVERLOADS wird definiert, wenn const und Nicht-const-Versionen dieser Funktionen verfügbar sind.Wenn Sie das Nicht-const Verhalten für beide C++-Überladungen erforderlich ist, definieren Sie das Symbol _CONST_RETURN.
Der Ausgabewert wird durch die Einstellung der LC_CTYPE Kategorieneinstellung des Gebietsschemas betroffen; weitere Informationen finden Sie unter setlocale.Die Versionen dieser Funktionen ohne das _l Suffix verwenden das aktuelle Gebietsschema für dieses Verhalten abhängig; die Version mit dem _l Suffix ist identisch, allerdings wird der Gebietsschemaparameter, der in stattdessen übergeben wird.Weitere Informationen finden Sie unter Gebietsschema.
Zuordnung generische 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 Mehrbytezeichen-Sequenzen
strcspn, wcscspn, _mbscspn, _mbscspn_l