HP-UX Reference (11i v2 03/08) - 3 Library Functions A-M (vol 6)
m
memory(3C) memory(3C)
NAME
memccpy( ), memchr( ), memcmp( ), memcpy( ), memmove( ), memset( ), bcopy( ), bcmp( ), bzero( ), ffs( ) -
memory operations
SYNOPSIS
#include <string.h>
void *memccpy(void *s1, const void *s2, int c, size_t n);
void *memchr(const void *s, int c, size_t n);
int memcmp(const void *s1, const void *s2, size_t n);
void *memcpy(void *s1, const void *s2, size_t n);
void *memmove(void *s1, const void *s2, size_t n);
void *memset(void *s, int c, size_t n);
#include <strings.h>
int bcmp(const void *s1, const void *s2, size_t n);
void bcopy(const void *s1, void *s2, size_t n);
void bzero(void *s, size_t n);
int ffs(int i);
Remarks:
bcmp(), bcopy(), bzero(), ffs(), and <strings.h> are provided solely for portability of
BSD applications, and are not recommended for new applications where portability is important.
For portable applications, use
memcmp(), memmove(), and memset(), respectively. ffs() has
no portable equivalent.
DESCRIPTION
These functions operate as efficiently as possible on memory areas (arrays of bytes bounded by a count,
not terminated by a null byte). They do not check for the overflow of any receiving memory area.
Definitions for all these functions, the type
size_t, and the constant NULL are provided in the
<string.h> header file.
memccpy() Copy bytes from the object pointed to by s2 into the object pointed to by s1, stopping after
the first occurrence of byte c has been copied, or after n bytes have been copied, which-
ever comes first. If copying takes place between objects that overlap, the behavior is
undefined.
memccpy() returns a pointer to the byte after the copy of c in s1,ora
NULL pointer if c was not found in the first n bytes of s2.
memchr() Locate the first occurrence of c (converted to an unsigned char) in the initial n bytes
(each interpreted as
unsigned char) of the object pointed to by s. memchr()
returns a pointer to the located byte, or a NULL pointer if the byte does not occur in the
object.
memcmp() Compare the first n bytes of the object pointed to by s1 to the first n bytes of the object
pointed to by s2. memcmp() returns an integer greater than, equal to, or less than
zero, according to whether the object pointed to by s1 is greater than, equal to, or less
than the object pointed to by s2. The sign of a non-zero return value is determined by the
sign of the difference between the values of the first pair of bytes (both interpreted as
unsigned char) that differ in the objects being compared.
memcpy() Copy n bytes from the object pointed to by s2 into the object pointed to by s1.Ifcopying
takes place between objects that overlap, the behavior is undefined. memcpy() returns
the value of s1.
memmove() Copy n bytes from the object pointed to by s2 into the object pointed to by s1.Copying
takes place as if the n bytes from the object pointed to by s2 are first copied into a tem-
porary array of n bytes that does not overlap the objects pointed to by s1 and s2, and
then the n bytes from the temporary array are copied into the object pointed to by s1.
memmove() returns the value of s1.
memset() Copy the value of c (converted to an unsigned char) into each of the first n bytes of
the object pointed to by s. memset() returns the value of s.
HP-UX 11i Version 2: August 2003 − 1 − Hewlett-Packard Company Section 3−−607