memchr — find byte in memory
#include <string.h>
void *memchr(const void *s, int c, size_t n);
[CX] 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-2024 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.
The implementation shall behave as if it reads the bytes sequentially and stops as soon as a matching byte is found.
[CX] The memchr() function shall not change the setting of errno on valid input.
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.
None.
None.
None.
None.
XBD <string.h>
First released in Issue 1. Derived from Issue 1 of the SVID.
POSIX.1-2008, Technical Corrigendum 1, XSH/TC1-2008/0374 [110] is applied.
Austin Group Defect 448 is applied, adding a requirement that memchr() does not change the setting of errno on valid input.
Austin Group Defect 1302 is applied, aligning this function with the ISO/IEC 9899:2018 standard.
return to top of page