std::memchr (3) - Linux Manuals

std::memchr: std::memchr

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 characters (each interpreted as unsigned char) of the object pointed to by ptr.


This function behaves as if it reads the characters sequentially and stops as soon as a matching character is found: if the array pointed to by ptr is smaller than count, but the match is found within the array, the behavior is well-defined (since C++17)

Parameters


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

Return value


Pointer to the location of the character, or NULL if no such character 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 != NULL)
         std::cout << "search character found\n";
      else
         std::cout << "search character not found\n";
  }

Output:


  search character found

See also


            finds the first occurrence of a character
strchr (function)


find
find_if
find_if_not finds the first element satisfying specific criteria
            (function template)


(C++11)