Defined in header <string.h> | ||
---|---|---|
void* memchr( const void* ptr, int ch, size_t count ); |
Finds the first occurrence of (unsigned char)ch
in the initial count
bytes (each interpreted as unsigned char
) of the object pointed to by ptr
.
The behavior is undefined if access occurs beyond the end of the array searched. The behavior is undefined if ptr
is a null pointer.
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 | (since C11) |
ptr | - | pointer to the object to be examined |
ch | - | bytes to search for |
count | - | max number of bytes to examine |
Pointer to the location of the byte, or a null pointer if no such byte is found.
#include <stdio.h> #include <string.h> int main(void) { const char str[] = "ABCDEFG"; const int chars[] = {'D', 'd'}; for (size_t i = 0; i < sizeof chars / (sizeof chars[0]); ++i) { const int c = chars[i]; const char *ps = memchr(str, c, strlen(str)); ps ? printf ("character '%c'(%i) found: %s\n", c, c, ps) : printf ("character '%c'(%i) not found\n", c, c); } return 0; }
Possible output:
character 'D'(68) found: DEFG character 'd'(100) not found
finds the first occurrence of a character (function) |
|
C++ documentation for memchr |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/string/byte/memchr