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