Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (Debian-5.0)
Apropos / Subsearch:
optional field

MEMCHR(3)                  Linux Programmer's Manual                 MEMCHR(3)

       memchr, memrchr, rawmemchr - scan memory for a character

       #include <&lt;string.h>&gt;

       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)):

       rawmemchr(): _GNU_SOURCE

       The  memchr()  function  scans  the  first  n  bytes of the memory area
       pointed to by s for the character c.  The first byte to match c (inter-
       preted as an unsigned character) stops the operation.

       The  memrchr()  function  is like the memchr() function, except that it
       searches backwards from the end of the n bytes pointed to by s  instead
       of forwards from the beginning.

       The  rawmemchr() function is similar to memchr(): it assumes (i.e., the
       programmer knows for certain) that the character c  lies  somewhere  in
       the  string  s, and so performs an optimized search for the character c
       (i.e., no checking for the terminating null byte, or use  of  an  argu-
       ment,  n,  to  limit the range of the search).  If the chararacter c is
       not in the string s, then rawmemchr() may proceeed to search beyond the
       end of the string, and the result is unspecified.  The folowing call is
       a fast means of locating a string's terminating null byte:

           char *p = rawmemchr(s, '\0');

       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, if one
       is found.  If no matching byte is found, the result is unspecified.

       The memchr() function conforms to SVr4, 4.3BSD, C89, C99, POSIX.1-2001.

       The memrchr() function  is  a  GNU  extension,  available  since  glibc

       The rawmemchr() function is a GNU extension, available since glibc 2.1.

       index(3), rindex(3), strchr(3), strpbrk(3), strrchr(3), strsep(3), str-
       spn(3), strstr(3), wmemchr(3)

       This page is part of release 3.05 of the Linux  man-pages  project.   A
       description  of  the project, and information about reporting bugs, can
       be found at http://www.kernel.org/doc/man-pages/.

                                  2008-07-09                         MEMCHR(3)