summaryrefslogtreecommitdiffstats
path: root/man3/memchr.3
diff options
context:
space:
mode:
Diffstat (limited to 'man3/memchr.3')
-rw-r--r--man3/memchr.3143
1 files changed, 143 insertions, 0 deletions
diff --git a/man3/memchr.3 b/man3/memchr.3
new file mode 100644
index 0000000..92708cd
--- /dev/null
+++ b/man3/memchr.3
@@ -0,0 +1,143 @@
+'\" t
+.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
+.\" and Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
+.\" <mtk.manpages@gmail.com>
+.\"
+.\" SPDX-License-Identifier: Linux-man-pages-copyleft
+.\"
+.\" Modified Mon Apr 12 12:49:57 1993, David Metcalfe
+.\" Modified Sat Jul 24 18:56:22 1993, Rik Faith (faith@cs.unc.edu)
+.\" Modified Wed Feb 20 21:09:36 2002, Ian Redfern (redferni@logica.com)
+.\" 2008-07-09, mtk, add rawmemchr()
+.\"
+.TH memchr 3 2023-07-20 "Linux man-pages 6.05.01"
+.SH NAME
+memchr, memrchr, rawmemchr \- scan memory for a character
+.SH LIBRARY
+Standard C library
+.RI ( libc ", " \-lc )
+.SH SYNOPSIS
+.nf
+.B #include <string.h>
+.PP
+.BI "void *memchr(const void " s [. n "], int " c ", size_t " n );
+.BI "void *memrchr(const void " s [. n "], int " c ", size_t " n );
+.PP
+.BI "[[deprecated]] void *rawmemchr(const void *" s ", int " c );
+.fi
+.PP
+.RS -4
+Feature Test Macro Requirements for glibc (see
+.BR feature_test_macros (7)):
+.RE
+.PP
+.BR memrchr (),
+.BR rawmemchr ():
+.nf
+ _GNU_SOURCE
+.fi
+.SH DESCRIPTION
+The
+.BR memchr ()
+function scans the initial
+.I n
+bytes of the memory
+area pointed to by
+.I s
+for the first instance of
+.IR c .
+Both
+.I c
+and the bytes of the memory area pointed to by
+.I s
+are interpreted as
+.IR "unsigned char" .
+.PP
+The
+.BR memrchr ()
+function is like the
+.BR memchr ()
+function,
+except that it searches backward from the end of the
+.I n
+bytes pointed to by
+.I s
+instead of forward from the beginning.
+.PP
+The
+.BR rawmemchr ()
+function is similar to
+.BR memchr (),
+but it assumes
+(i.e., the programmer knows for certain)
+that an instance of
+.I c
+lies somewhere in the memory area starting at the location pointed to by
+.IR s .
+If an instance of
+.I c
+is not found, the behavior is undefined.
+Use either
+.BR strlen (3)
+or
+.BR memchr (3)
+instead.
+.SH RETURN VALUE
+The
+.BR memchr ()
+and
+.BR memrchr ()
+functions return a pointer
+to the matching byte or NULL if the character does not occur in
+the given memory area.
+.PP
+The
+.BR rawmemchr ()
+function returns a pointer to the matching byte.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbx lb lb
+l l l.
+Interface Attribute Value
+T{
+.na
+.nh
+.BR memchr (),
+.BR memrchr (),
+.BR rawmemchr ()
+T} Thread safety MT-Safe
+.TE
+.sp 1
+.SH STANDARDS
+.TP
+.BR memchr ()
+C11, POSIX.1-2008.
+.TP
+.BR memrchr ()
+.TQ
+.BR rawmemchr ()
+GNU.
+.SH HISTORY
+.TP
+.BR memchr ()
+POSIX.1-2001, C89, SVr4, 4.3BSD.
+.TP
+.BR memrchr ()
+glibc 2.2.
+.TP
+.BR rawmemchr ()
+glibc 2.1.
+.SH SEE ALSO
+.BR bstring (3),
+.BR ffs (3),
+.BR memmem (3),
+.BR strchr (3),
+.BR strpbrk (3),
+.BR strrchr (3),
+.BR strsep (3),
+.BR strspn (3),
+.BR strstr (3),
+.BR wmemchr (3)