std::memchr

From cppreference.com
< cpp‎ | string‎ | byte
Defined in header <cstring>
const void* memchr( const void* ptr, int ch, std::size_t count );
      void* memchr(       void* ptr, int ch, std::size_t count );

Converts ch to unsigned char and locates the first occurrence of that value in the initial count characters (each interpreted as unsigned char) of the object pointed to by ptr.

Contents

[edit] Parameters

ptr - pointer to the object to be examined
ch - character to search for
count - number of characters to examine

[edit] Return value

Pointer to the location of the character, or NULL if no such character is found.

[edit] Example

Search an array of characters.

#include <iostream>
#include <cstring>
 
int main()
{
    char arr[] = {'a','\0','a','A','a','a','A','a'};
    char *pc = (char*)std::memchr(arr,'A',sizeof arr);
    if (pc != NULL)
       std::cout << "search character found\n";
    else
       std::cout << "search character not found\n";
}

Output:

search character found

[edit] See also

finds the first occurrence of a character
(function)
finds the first element satisfying specific criteria
(function template)
C documentation for memchr