memory(3C) — AT&T SYSTEM V
NAME
memccpy, memchr, memcmp, memcpy, memmove, memset − memory operations
SYNOPSIS
#include <memory.h> (AT&T)
or
#include <string.h> (POSIX)
char ∗memccpy (s1, s2, c, n)
char ∗s1, ∗s2;
int c, n;
char ∗memchr (s, c, n)
char ∗s;
int c, n;
int memcmp (s1, s2, n)
char ∗s1, ∗s2;
int n;
char ∗memcpy (s1, s2, n)
char ∗s1, ∗s2;
int n;
char ∗memmove (s1, s2, n)
char ∗s1, ∗s2;
int n;
char ∗memset (s, c, n)
char ∗s;
int c, n;
DESCRIPTION
These functions operate as efficiently as possible on memory areas (arrays of characters bounded by a count, not terminated by a null character). They do not check for the overflow of any receiving memory area.
Memccpy copies characters from memory area s2 into s1, stopping after the first occurrence of character c has been copied, or after n characters have been copied, whichever comes first. It returns a pointer to the character after the copy of c in s1, or a NULL pointer if c was not found in the first n characters of s2.
Memchr returns a pointer to the first occurrence of character c in the first n characters of memory area s, or a NULL pointer if c does not occur.
Memcmp compares its arguments, looking at the first n characters only, and returns an integer less than, equal to, or greater than 0, according as s1 is lexicographically less than, equal to, or greater than s2.
Memcpy copies n characters from memory area s2 to s1. It returns s1. If copying takes place between memory areas that overlap, the behavior is undefined.
Memmove copies n characters from memory area s2 to s1. It returns s1. Memmove behaves as if the characters from memory area s2 were first copied to a temporary area before being copied to s1. So memmove may be used safely with overlapping memory areas.
Memset sets the first n characters in memory area s to the value of character c. It returns s.
NOTE
For user convenience, all these functions are declared in the optional <memory.h> and <string.h> header files. Users may include either header file. <string.h> is the header file specified by the POSIX standard and <memory.h> is the traditional AT&T header file.
BUGS
Memcmp uses native character comparison, which is unsigned on other machines. Thus the sign of the value returned when one of the characters has its high-order bit set is implementation-dependent.
Character movement is performed differently in different implementations. Thus overlapping moves may yield surprises.
CX/UX Programmer’s Reference Manual