memchr man page


This manual page is part of the POSIX Programmer's Manual. The Linux implementation of this interface may differ (consult the corresponding Linux manual page for details of Linux behavior), or the interface may not be implemented on Linux.

memchr — find byte in memory


#include <string.h>

void *memchr(const void *s, int c, size_t n);


The functionality described on this reference page is aligned with the ISO C standard. Any conflict between the requirements described here and the ISO C standard is unintentional. This volume of POSIX.1‐2008 defers to the ISO C standard.

The memchr() function shall locate the first occurrence of c (converted to an unsigned char) in the initial n bytes (each interpreted as unsigned char) pointed to by s.

Implementations shall behave as if they read the memory byte by byte from the beginning of the bytes pointed to by s and stop at the first occurrence of c (if it is found in the initial n bytes).

Return Value

The memchr() function shall return a pointer to the located byte, or a null pointer if the byte is not found.


No errors are defined.

The following sections are informative.

See Also

The Base Definitions volume of POSIX.1‐2008, <string.h>


2013 IEEE/The Open Group POSIX Programmer's Manual