.RI ( libc ,\~ \-lc )
.SH SYNOPSIS
.nf
-.BR #include\~<memory.h> " // See STANDARDS"
+.BR #include\~<string.h> " // or <memory.h>; see memory.h(3head)"
.P
.BR "void *memccpy(" "size_t n;"
.BI " void " dest "[restrict " n "], const void " src "[restrict " n ],
.TE
.SH STANDARDS
POSIX.1-2008.
-.P
-ISO C and POSIX declare this function in
-.IR <string.h> ;
-see
-.BR memory.h (3head).
.SH HISTORY
POSIX.1-2001, SVr4, 4.3BSD.
.SH CAVEATS
.RI ( libc ,\~ \-lc )
.SH SYNOPSIS
.nf
-.BR #include\~<memory.h> " // See STANDARDS"
+.BR #include\~<string.h> " // or <memory.h>; see memory.h(3head)"
.P
.BR "void *memchr(" "size_t n;"
.BI " const void " s [ n "], int " c ", size_t " n );
.TE
.SH STANDARDS
C11, POSIX.1-2008.
-.P
-ISO C and POSIX declare this function in
-.IR <string.h> ;
-see
-.BR memory.h (3head).
.SH HISTORY
POSIX.1-2001, C89, SVr4, 4.3BSD.
.SH SEE ALSO
.RI ( libc ,\~ \-lc )
.SH SYNOPSIS
.nf
-.BR #include\~<memory.h> " // See STANDARDS"
+.BR #include\~<string.h> " // or <memory.h>; see memory.h(3head)"
.P
.BR "int memcmp(" "size_t n;"
.BI " const void " s1 [ n "], const void " s2 [ n "], size_t " n );
.TE
.SH STANDARDS
C11, POSIX.1-2008.
-.P
-ISO C and POSIX declare this function in
-.IR <string.h> ;
-see
-.BR memory.h (3head).
.SH HISTORY
POSIX.1-2001, C89, SVr4, 4.3BSD.
.SH CAVEATS
.RI ( libc ,\~ \-lc )
.SH SYNOPSIS
.nf
-.BR #include\~<memory.h> " // See STANDARDS"
+.BR #include\~<string.h> " // or <memory.h>; see memory.h(3head)"
.P
.BR "void *memcpy(" "size_t n;"
.BI " void " dest "[restrict " n "], const void " src "[restrict " n ],
.TE
.SH STANDARDS
C11, POSIX.1-2008.
-.P
-ISO C and POSIX declare this function in
-.IR <string.h> ;
-see
-.BR memory.h (3head).
.SH HISTORY
POSIX.1-2001, C89, SVr4, 4.3BSD.
.SH CAVEATS
.SH SYNOPSIS
.nf
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
-.B #include <memory.h>
+.BR #include\~<memory.h> " // or <string.h>; see memory.h(3head)"
.P
.BR "void *memfrob(" "size_t n;"
.BI " void " s [ n "], size_t " n );
.TE
.SH STANDARDS
GNU.
-.SH NOTES
-The following header also provides this function:
-.IR <string.h> .
.SH SEE ALSO
.BR memory.h (3head),
.BR strfry (3)
.SH SYNOPSIS
.nf
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
-.B #include <memory.h>
+.BR #include\~<memory.h> " // or <string.h>; see memory.h(3head)"
.P
.BR "void *memmem(" "size_t hsize, size_t nsize;"
.BI " const void " haystack [ hsize "], size_t " hsize ,
.SH HISTORY
musl libc 0.9.7;
FreeBSD 6.0, OpenBSD 5.4, NetBSD, Illumos.
-.SH NOTES
-The following header also provides this function:
-.IR <string.h> .
.SH BUGS
.\" This function was broken in Linux libraries up to and including libc 5.0.9;
.\" there the
.RI ( libc ,\~ \-lc )
.SH SYNOPSIS
.nf
-.BR #include\~<memory.h> " // See STANDARDS"
+.BR #include\~<string.h> " // or <memory.h>; see memory.h(3head)"
.P
.BR "void *memmove(" "size_t n;"
.BI " void " dest [ n "], const void " src [ n "], size_t " n );
.TE
.SH STANDARDS
C11, POSIX.1-2008.
-.P
-ISO C and POSIX declare this function in
-.IR <string.h> ;
-see
-.BR memory.h (3head).
.SH HISTORY
POSIX.1-2001, C89, SVr4, 4.3BSD.
.SH SEE ALSO
.SH SYNOPSIS
.nf
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
-.B #include <memory.h>
+.BR #include\~<memory.h> " // or <string.h>; see memory.h(3head)"
.P
.BR "void *mempcpy(" "size_t n;"
.BI " void " dest "[restrict " n "], const void " src "[restrict " n ],
GNU.
.SH HISTORY
glibc 2.1.
-.SH NOTES
-The following header also provides
-.BR mempcpy ():
-.IR <string.h> .
.SH EXAMPLES
.EX
void *
.SH SYNOPSIS
.nf
.BR #define\~_GNU_SOURCE " // See feature_test_macros(7)"
-.B #include <memory.h>
+.BR #include\~<memory.h> " // or <string.h>; see memory.h(3head)"
.P
.BR void\~*memrchr( size_t\~n;
.BI " const void " s [ n "], int " c ", size_t " n );
GNU.
.SH HISTORY
glibc 2.2.
-.SH NOTES
-The following header also provides this function:
-.IR <string.h> .
.SH SEE ALSO
.BR memory.h (3head),
.BR memchr (3),
.RI ( libc ,\~ \-lc )
.SH SYNOPSIS
.nf
-.BR #include\~<memory.h> " // See STANDARDS"
+.BR #include\~<string.h> " // or <memory.h>; see memory.h(3head)"
.P
.BR "void *memset(" "size_t n;"
.BI " void " s [ n "], int " c ", size_t " n );
.TE
.SH STANDARDS
C11, POSIX.1-2008.
-.P
-ISO C and POSIX declare this function in
-.IR <string.h> ;
-see
-.BR memory.h (3head).
.SH HISTORY
POSIX.1-2001, C89, SVr4, 4.3BSD.
.SH SEE ALSO
.RI ( libc ,\~ \-lc )
.SH SYNOPSIS
.nf
-.BR #include\~<memory.h> " // See STANDARDS"
+.BR #include\~<string.h> " // or <memory.h>; see memory.h(3head)"
.P
.BR "char *strncpy(" "size_t dsize;"
.BI " char " dst "[restrict " dsize "], const char *restrict " src ,
.TP
.BR strncpy ()
C11, POSIX.1-2008.
-.IP
-ISO C and POSIX declare this function in
-.IR <string.h> ;
-see
-.BR memory.h (3head).
.TP
.BR stpncpy ()
POSIX.1-2008.
-.IP
-POSIX declares this function in
-.IR <string.h> ;
-see
-.BR memory.h (3head).
.SH HISTORY
.TP
.BR strncpy ()
.P
.BI "int strcasecmp(const char *" s1 ", const char *" s2 );
.P
-.BR #include\~<memory.h> " // See STANDARDS"
+.BR #include\~<string.h> " // or <memory.h>; see memory.h(3head)"
.P
.BI "int strncasecmp(const char " s1 "[], const char " s2 "[], size_t " n );
.fi
.TE
.SH STANDARDS
POSIX.1-2008.
-.P
-POSIX declares both functions in
-.IR <string.h> ;
-see
-.BR memory.h (3head).
.SH HISTORY
4.4BSD, POSIX.1-2001.
.P
.P
.BI "int strcmp(const char *" s1 ", const char *" s2 );
.P
-.BR #include\~<memory.h> " // See STANDARDS"
+.BR #include\~<string.h> " // or <memory.h>; see memory.h(3head)"
.P
.BR "int strncmp(const char " s1 "[], const char " s2 "[], size_t " n );
.fi
(If the two characters are equal, this difference is 0.)
.SH STANDARDS
C11, POSIX.1-2008.
-.P
-ISO C and POSIX declare both functions in
-.IR <string.h> ;
-see
-.BR memory.h (3head).
.SH HISTORY
POSIX.1-2001, C89, SVr4, 4.3BSD.
.SH EXAMPLES
.P
.BI "char *strdup(const char *" s );
.P
-.BR #include\~<memory.h> " // See STANDARDS"
+.BR #include\~<string.h> " // or <memory.h>; see memory.h(3head)"
.P
.BR "char *strndup(" "size_t n;"
.BI " const char " s [ n "], size_t " n );
.TE
.SH STANDARDS
POSIX.1-2008.
-.P
-POSIX declares both functions in
-.IR <string.h> ;
-see
-.BR memory.h (3head).
.SH HISTORY
.TP
.BR strdup ()
.BI "char *strdupa(const char *" s );
.P
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
-.B #include <memory.h>
+.BR #include\~<memory.h> " // or <string.h>; see memory.h(3head)"
.P
.BR "char *strndupa(" "size_t n;"
.BI " const char " s [ n "], size_t " n );
GNU.
.SH HISTORY
GNU.
-.SH NOTES
-The following header also provides
-.BR strndupa ():
-.IR <string.h> .
.SH SEE ALSO
.BR memory.h (3head),
.BR alloca (3),
.RI ( libc ,\~ \-lc )
.SH SYNOPSIS
.nf
-.BR #include\~<memory.h> " // See STANDARDS"
+.BR #include\~<string.h> " // or <memory.h>; see memory.h(3head)"
.P
.BR "char *strncat(" "size_t ssize;"
.BI " char *restrict " dst ", const char " src "[restrict " ssize ],
.TE
.SH STANDARDS
C11, POSIX.1-2008.
-.P
-ISO C and POSIX declare this function in
-.IR <string.h> ;
-see
-.BR memory.h (3head).
.SH HISTORY
POSIX.1-2001, C89, SVr4, 4.3BSD.
.SH CAVEATS
.RI ( libc ,\~ \-lc )
.SH SYNOPSIS
.nf
-.BR #include\~<memory.h> " // See STANDARDS"
+.BR #include\~<string.h> " // or <memory.h>; see memory.h(3head)"
.P
.BR "size_t strnlen(const char " s "[], size_t " maxlen );
.fi
.TE
.SH STANDARDS
POSIX.1-2008.
-.P
-ISO C and POSIX declare this function in
-.IR <string.h> ;
-see
-.BR memory.h (3head).
.SH HISTORY
POSIX.1-2008.
.SH SEE ALSO