std::strpbrk

From cppreference.com
Defined in header <cstring>
const char* strpbrk( const char* dest, const char* str );
      char* strpbrk(       char* dest, const char* str );

Finds the first character in byte string pointed to by dest, that is also in byte string pointed to by str.

Contents

[edit] Parameters

dest - pointer to the null-terminated byte string to be analyzed
str - pointer to the null-terminated byte string that contains the characters to search for

[edit] Return value

Pointer to the first character in dest, that is also in str, or NULL if no such character exists.

[edit] Example

#include <cstdio>
#include <cstring>
 
int main() 
{
    char* input = "hello world friend of mine";
    char* space = " ";
    char* pos = input;
    int word_counter = 0;
 
    do {
        pos = std::strpbrk(pos, space);
        word_counter++;
        pos ? pos++ : pos;
        std::printf("%d\n", word_counter);
    } while (pos != NULL);
};

Output:

1
2
3
4
5

[edit] See also

returns the length of the maximum initial segment that consists
of only the characters not found in another byte string
(function)
finds the first occurrence of a character
(function)