memchr, memrchr, rawmemchr - scan memory for a character
Contents
Attributes
For an explanation of the terms used in this section, see attributes(7).
┌─────────────────────────────────────────────────────────────────────────────┬───────────────┬─────────┐
│ Interface │ Attribute │ Value │
├─────────────────────────────────────────────────────────────────────────────┼───────────────┼─────────┤
│ memchr(), memrchr(), rawmemchr() │ Thread safety │ MT-Safe │
└─────────────────────────────────────────────────────────────────────────────┴───────────────┴─────────┘
Description
The memchr() function scans the initial n bytes of the memory area pointed to by s for the first instance
of c. Both c and the bytes of the memory area pointed to by s are interpreted as unsignedchar.
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.
History
memchr()
POSIX.1-2001, C89, SVr4, 4.3BSD.
memrchr()
glibc 2.2.
rawmemchr()
glibc 2.1.
Library
Standard C library (libc, -lc)
Name
memchr, memrchr, rawmemchr - scan memory for a character
Return Value
The memchr() and memrchr() functions return a pointer to the matching byte or NULL if the character does
not occur in the given memory area.
The rawmemchr() function returns a pointer to the matching byte.
See Also
bstring(3), ffs(3), memmem(3), strchr(3), strpbrk(3), strrchr(3), strsep(3), strspn(3), strstr(3), wmemchr(3) Linux man-pages 6.9.1 2024-05-02 memchr(3)
Standards
memchr()
C11, POSIX.1-2008.
memrchr()
rawmemchr()
GNU.
Synopsis
#include<string.h>void*memchr(constvoids[.n],intc,size_tn);void*memrchr(constvoids[.n],intc,size_tn);[[deprecated]]void*rawmemchr(constvoid*s,intc); Feature Test Macro Requirements for glibc (see feature_test_macros(7)): memrchr(), rawmemchr(): _GNU_SOURCE
