std::memchr(3)

NAME
std::memchr - std::memchr

Synopsis
   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 bytes (each interpreted as unsigned char) of the object pointed to by
   ptr.
   This function behaves as if it reads the bytes sequentially and stops
   as soon as a matching bytes is found: if the array pointed to by ptr (since C++17)
   is smaller than count, but the match is found within the array, the
   behavior is well-defined.

Parameters
   ptr - pointer to the object to be examined
   ch - byte to search for
   count - max number of bytes to examine

Return value
   Pointer to the location of the byte, or a null pointer if no such byte is found.

Example
   Search an array of characters. // Run this code
 #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 != nullptr)
        std::cout << "search character found\n";
     else
        std::cout << "search character not found\n";
 }

Output:
 search character found

See also
   strchr finds the first occurrence of a character
               (function)
   find
   find_if finds the first element satisfying specific criteria
   find_if_not (function template)
   (C++11)