< 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.


[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";
       std::cout << "search character not found\n";


search character found

[edit] See also

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