memchr(3) [freebsd man page]
MEMCHR(3) BSD Library Functions Manual MEMCHR(3) NAME
memchr -- locate byte in byte string LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <string.h> void * memchr(const void *b, int c, size_t len); void * memrchr(const void *b, int c, size_t len); DESCRIPTION
The memchr() function locates the first occurrence of c (converted to an unsigned char) in string b. The memrchr() function behaves like memchr(), except that it locates the last occurrence of c in string b. RETURN VALUES
The memchr() and memrchr() functions return a pointer to the byte located, or NULL if no such byte exists within len bytes. SEE ALSO
memmem(3), strchr(3), strcspn(3), strpbrk(3), strrchr(3), strsep(3), strspn(3), strstr(3), strtok(3), wmemchr(3) STANDARDS
The memchr() function conforms to ISO/IEC 9899:1990 (``ISO C90''). The memrchr() function is a GNU extension and conforms to no standard. HISTORY
The memrchr() function first appeared in GNU libc 2.1.91, this implementation first appeared in FreeBSD 6.4, coming from OpenBSD 4.3. BSD
April 9, 2008 BSD
Check Out this Related Man Page
MEMCHR(3) Linux Programmer's Manual MEMCHR(3) NAME
memchr, memrchr, rawmemchr - scan memory for a character SYNOPSIS
#include <string.h> void *memchr(const void *s, int c, size_t n); void *memrchr(const void *s, int c, size_t n); void *rawmemchr(const void *s, int c); Feature Test Macro Requirements for glibc (see feature_test_macros(7)): memrchr(), rawmemchr(): _GNU_SOURCE 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 unsigned char. 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(): 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, and so performs an optimized search for c (i.e., no use of a count argument to limit the range of the search). If an instance of c is not found, the results are unpredictable. The following call is a fast means of locating a string's terminating null byte: char *p = rawmemchr(s, '