C Programming/C Reference/nonstandard/mempcpy

From Wikibooks, open books for an open world
Jump to navigation Jump to search

The C language function calls mempcpy and wmempcpy are used to copy one area of memory to another area.

Introduction[edit | edit source]

In C, the function mempcpy is included in header file string.h. mempcpy is nearly identical to memcpy(). This function is used to copy the strings. The function wmempcpy is identical to mempcpy() but takes wchar_t type arguments and copies n wide characters. It comes under wchar.h header file.

Description[edit | edit source]

In C programming, functions mempcpy() , wmempcpy() are used.The mempcpy() function is nearly identical to the memcpy() function.It comes under Buffer Manipulating Functions. It copies a specified number of characters from one buffer to another. It copies n bytes from the object beginning at src into the object pointed to by dest. But instead of returning the value of dest it returns a pointer to the byte following the last written byte. This function is useful in situations where a number of objects shall be copied to consecutive memory positions. If copying between objects overlap, then the behavior is undefined.

Return value[edit | edit source]

dest + n.

Example[edit | edit source]

void *
combine (ciod *o1, size_t s1, void *o2, size_t s2)
{
void *result = malloc(s1 + s2);
if (result != NULL)
mempcpy(mempcpy(result, o1, s1), o2, s2);
return result;
}

Versions[edit | edit source]

mempcpy first appeared in glibc in version 2.1

See also[edit | edit source]

memccpy( ), memcpy( )

References[edit | edit source]