memccpy(3) Library Functions Manual memccpy(3)
NAME
memccpy, memchr, memcmp, memcpy, memmove, memset - Perform memory operations
LIBRARY
Standard C Library (libc.so, libc.a)
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);
STANDARDS
Interfaces documented on this reference page conform to industry standards as follows:
memchr(), memcmp(), memcpy(), memmove(), memset(): ISO C, XPG4, XPG4-UNIX
memccpy(): XPG4, XPG4-UNIX
Refer to the standards(5) reference page for more information about industry standards and associated tags.
PARAMETERS
Points to the location of a string. Points to the location of a destination string. Points to the location of a source string. Specifies
a character for which to search (except for memset(), in which c is the target of the copy). Specifies the number of characters to search.
DESCRIPTION
The memccpy(), memchr(), memcmp(), memcpy(), memmove(), and memset() functions operate on strings in memory areas. A memory area is a group
of contiguous characters bound by a count and not terminated by a null character. These memory functions do not check for overflow of the
receiving memory area. All of the functions are declared in the string.h header file.
The memccpy() function sequentially copies bytes from the location pointed to by the s2 parameter into the location pointed to by the s1
parameter until one of the following occurs: The character specified by the c parameter, which is converted to an unsigned char, is copied.
The number of characters specified by the n parameter has been copied to the string at location s1.
The memccpy() function returns a pointer to the character that follows character c in the string pointed to by s1. If character c is not
encountered after n characters have been copied to the string at location s1, this function returns a null pointer.
The memchr() function returns a pointer to the first occurrence of character (byte) c in the string pointed to by s. If character c is not
encountered after n bytes have been copied to the string at location s, this function returns a null pointer.
The memcmp() function compares the first n characters (bytes), which are converted to unsigned char, of the string pointed to by the s1
parameter with the first n characters (also interpreted as unsigned char) of the string pointed to by the s2 parameter.
The memcmp() function returns 0 (zero) or a nonzero value to indicate the results of the comparison operation. The sign of a nonzero value
is determined by the sign of the difference between the values of the first pair of bytes that differ in the strings being compared. Possi-
ble return values and their meanings follow: When s1 is less than s2 When s1 is equal to s2 When s1 is greater than s2
The memcpy() function copies n bytes from the string pointed to by the s2 parameter into the location pointed to by the s1 parameter. When
copying overlapping strings, the behavior of this function is unreliable.
The memmove() function copies n bytes from the string at the location pointed to by the s2 parameter to the string at the location pointed
to by the s1 parameter. Copying takes place as though the n number of bytes from string s2 were first copied into a temporary location
having n bytes that do not overlap either of the strings pointed to by s1 and s2. Then, n number of bytes from the temporary location is
copied to the string pointed to by s1. Consequently, this operation is nondestructive and proceeds from left to right.
The memset() function copies the value of the byte specified by the c parameter, which is converted to an unsigned char, into each of the
first n locations of the string pointed to by the s parameter.
RETURN VALUES
The memccpy() function returns a pointer to the byte following the character (byte) specified by the c parameter in the string pointed to
by the s1 parameter. If character c is not found after the number of bytes specified by the n parameter are scanned, the function returns a
null pointer.
The memchr() function returns a pointer to the character (byte) specified by the c parameter. If character c does not occur after n bytes
in the string pointed to by the s parameter are scanned, the function returns a null pointer.
The memcmp() function returns a value greater than, equal to, or less than 0 (zero), according to whether the string pointed to by the s1
parameter has a value greater than, equal to, or less than the string pointed to by the s2 parameter.
The memcpy() and memmove() functions return the string pointed to by the s1 parameter. No return value is reserved to indicate an error.
The memset() function returns the string pointed to by the s parameter.
RELATED INFORMATION
Functions: bcopy(3), string(3), swab(3), wmemcpy(3)
Standards: standards(5) delim off
memccpy(3)