char *  strpbrk ( const char * string1, const char * string2 );

Scan string for specified characters.
  Scans string1 character by character, returning a pointer to the first character that matches with any of the characters in string2.
  The search does not includes the terminating null-characters.


Null-terminated string to be scanned.
Null-terminated string containing the character set to search for.

Return Value.
  A pointer to the first appearance in string1 of a character specified in string2.
  If none of the characters specified in string2 exists in string1, a NULL pointer is returned.

  Defined in ANSI-C.
  ANSI-C++ standard specifies two different declarations for this function instead of the one included in ANSI-C:

const char * strpbrk ( const char * string1, const char * string2 );
      char * strpbrk (       char * string1, const char * string2 );
  Both have the same behavior as the original declaration.


/* strpbrk example */
#include <stdio.h>
#include <string.h>

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;
Vowels in 'This is a sample string': i i a a e i

See also.
  strcspn, strchr, strrchr

© The C++ Resources Network, 2000