std::memchr - cppreference.com (original) (raw)
| Defined in header | | | | ------------------------------------------------------------------------------------------------- | | | | 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 is smaller than count, but the match is found within the array, the behavior is well-defined. | (since C++17) |
|---|
[edit] Parameters
| ptr | - | pointer to the object to be examined |
|---|---|---|
| ch | - | byte to search for |
| count | - | max number of bytes to examine |
[edit] Return value
Pointer to the location of the byte, or a null pointer if no such byte is found.
[edit] Example
Search an array of characters.
#include #include 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: