memccpy man page


This manual page is part of the POSIX Programmer's Manual. The Linux implementation of this interface may differ (consult the corresponding Linux manual page for details of Linux behavior), or the interface may not be implemented on Linux.

memccpy — copy bytes in memory


#include <string.h>

void *memccpy(void *restrict s1, const void *restrict s2,
    int c, size_t n);


The memccpy() function shall copy bytes from memory area s2 into s1, stopping after the first occurrence of byte c (converted to an unsigned char) is copied, or after n bytes are copied, whichever comes first. If copying takes place between objects that overlap, the behavior is undefined.

Return Value

The memccpy() function shall return a pointer to the byte after the copy of c in s1, or a null pointer if c was not found in the first n bytes of s2.


No errors are defined.

The following sections are informative.

Application Usage

The memccpy() function does not check for the overflow of the receiving memory area.

See Also

The Base Definitions volume of POSIX.1‐2008, <string.h>


2013 IEEE/The Open Group POSIX Programmer's Manual