strpbrk
, wcspbrk
, _mbspbrk
_mbspbrk_l
Cerca nelle stringhe caratteri dei set di caratteri specificati.
Importante
_mbspbrk
e _mbspbrk_l
non possono essere usati nelle applicazioni eseguite in Windows Runtime. Per altre informazioni, vedere Funzioni CRT non supportate nelle app della piattaforma UWP (Universal Windows Platform).
Sintassi
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
Parametri
str
Stringa cercata con terminazione Null.
strCharSet
Set di caratteri con terminazione Null.
locale
Impostazioni locali da usare.
Valore restituito
Restituisce un puntatore alla prima occorrenza di qualsiasi carattere da strCharSet
in str
oppure un puntatore NULL
se i due argomenti stringa non includono caratteri in comune.
Osservazioni:
La funzione strpbrk
restituisce un puntatore alla prima occorrenza di un carattere in str
che appartiene al set di caratteri in strCharSet
. La ricerca non include il carattere Null di terminazione.
wcspbrk
e _mbspbrk
sono versioni con caratteri wide e caratteri multibyte di strpbrk
. Gli argomenti e il valore restituito di sono stringhe di wcspbrk
caratteri wide. Gli argomenti e il valore restituito di sono stringhe di _mbspbrk
caratteri multibyte.
_mbspbrk
convalida i propri parametri. Se str
o strCharSet
è NULL
, viene richiamato il gestore di parametri non validi, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, _mbspbrk
restituisce NULL
e imposta errno
su EINVAL
. strpbrk
e wcspbrk
non convalidare i relativi parametri. A parte ciò, queste tre funzioni si comportano in modo identico.
_mbspbrk
è simile a _mbscspn
, ad eccezione del fatto che _mbspbrk
restituisce un puntatore anziché un valore di tipo size_t
.
In C queste funzioni accettano un puntatore const
per il primo argomento. In C++ sono disponibili due overload. L'overload che accetta un puntatore a const
restituisce un puntatore a const
. La versione che accetta un puntatore a non-const
restituisce un puntatore a non-const
. La macro _CRT_CONST_CORRECT_OVERLOADS
viene definita se sono disponibili entrambe le const
versioni e nonconst
di queste funzioni. Se è necessario il comportamento nonconst
per entrambi gli overload C++, definire il simbolo _CONST_RETURN
.
Il valore di output è interessato dall'impostazione dell'impostazione LC_CTYPE
della categoria delle impostazioni locali. Per altre informazioni, vedere setlocale
. Le versioni di queste funzioni senza il suffisso _l
usano le impostazioni locali correnti per questo comportamento dipendente dalle impostazioni locali. La versione con il suffisso _l
è identica, ma usa il parametro relativo alle impostazioni locali passato. Per altre informazioni, vedere Locale.
Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.
Mapping di routine di testo generico
Routine TCHAR.H | _UNICODE e _MBCS non definito |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_tcspbrk |
strpbrk |
_mbspbrk |
wcspbrk |
n/d | n/d | _mbspbrk_l |
n/d |
Requisiti
Ciclo | Intestazione obbligatoria |
---|---|
strpbrk |
<string.h> |
wcspbrk |
<string.h> o <wchar.h> |
_mbspbrk , _mbspbrk_l |
<mbstring.h> |
Per altre informazioni sulla compatibilità, vedere Compatibilità.
Esempio
// 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
Vedi anche
Manipolazione delle stringhe
impostazioni locali
Interpretazione di sequenze di caratteri multibyte
strcspn
, wcscspn
, _mbscspn
_mbscspn_l
strchr
, wcschr
, _mbschr
_mbschr_l
strrchr
, wcsrchr
, _mbsrchr
_mbsrchr_l