#include <string.h> void *memchr(const void s[.n], int c, size_t n); void *memrchr(const void s[.n], int c, size_t n); [[deprecated]] void *rawmemchr(const void s[.n], int c);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
memrchr(), rawmemchr():
_GNU_SOURCE
The memrchr() function is like the memchr() function, except that it searches backward from the end of the n bytes pointed to by s instead of forward from the beginning.
The rawmemchr() function is similar to memchr(), but it assumes (i.e., the programmer knows for certain) that an instance of c lies somewhere in the memory area starting at the location pointed to by s. If an instance of c is not found, the behavior is undefined. Use either strlen(3) or memchr(3) instead.
The rawmemchr() function returns a pointer to the matching byte.
memrchr() first appeared in glibc 2.2.
Interface | Attribute | Value |
memchr(), memrchr(), rawmemchr() | Thread safety | MT-Safe |
The memrchr() function is a GNU extension, available since glibc 2.1.91.
The rawmemchr() function is a GNU extension, available since glibc 2.1.