function
<cstring>
strpbrk
const char * strpbrk ( const char * str1, const char * str2 );
      char * strpbrk (       char * str1, const char * str2 );
Locate characters in string
Returns a pointer to the first occurrence in str1 of any of the characters that are part of str2, or a null pointer if there are no matches.
The search does not include the terminating null-characters of either strings, but ends there.
Parameters
- str1
- C string to be scanned.
- str2
- C string containing the characters to match.
Return Value
A pointer to the first occurrence in str1 of any of the characters that are part of str2, or a null pointer if none of the characters of str2 is found in str1 before the terminating null-character.
If none of the characters of str2 is present in str1, a null pointer is returned.
Portability
In C, this function is only declared as:
char * strpbrk ( const char *, const char * ); 
instead of the two overloaded versions provided in C++.
Example
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 
 | /* strpbrk example */
#include <stdio.h>
#include <string.h>
int main ()
{
  char str[] = "This is a sample string";
  char key[] = "aeiou";
  char * pch;
  printf ("Vowels in '%s': ",str);
  pch = strpbrk (str, key);
  while (pch != NULL)
  {
    printf ("%c " , *pch);
    pch = strpbrk (pch+1,key);
  }
  printf ("\n");
  return 0;
}
 | 
Output:
| 
Vowels in 'This is a sample string': i i a a e i 
 | 
See also
- strcspn
- Get span until character in string (function
)
- strchr
- Locate first occurrence of character in string (function
)
- strrchr
- Locate last occurrence of character in string (function
)
- memchr
- Locate character in block of memory (function
)