memchr
From cppreference.com
Defined in header <string.h>
|
||
void* memchr( const void* ptr, int ch, size_t count ); |
(1) | |
/*QVoid*/ *memchr( /*QVoid*/ *ptr, int ch, size_t count ); |
(2) | (since C23) |
1) 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.
2) Type-generic function equivalent to (1). Let
T
be an unqualified object type (including void).
- If
ptr
is of type const T*, the return type is const void*. - Otherwise, if
ptr
is of type T*, the return type is void*. - Otherwise, the behavior is undefined.
- If
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 ptr is smaller than count, but the match is found within the array, the behavior is well-defined. |
(since C11) |
Contents |
[edit] Parameters
ptr | - | pointer to the object to be examined |
ch | - | bytes 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
Run this code
#include <stdio.h> #include <string.h> int main(void) { const char str[] = "ABCDEFG"; const int chars[] = {'D', 'd'}; for (