function
memmove
<cstring>
void * memmove ( void * destination, const void * source, size_t num );
Move block of memory
Copies the values of
num bytes from the location pointed by
source to the memory block pointed by
destination. Copying takes place as if an intermediate buffer were used, allowing the
destination and
source to overlap.
The underlying type of the objects pointed by both the
source and
destination pointers are irrelevant for this function; The result is a binary copy of the data.
The function does not check for any terminating null character in
source - it always copies exactly
num bytes.
To avoid overflows, the size of the arrays pointed by both the
destination and
source parameters, shall be at least
num bytes.
Parameters
- destination
- Pointer to the destination array where the content is to be copied, type-casted to a pointer of type void*.
- source
- Pointer to the source of data to be copied, type-casted to a pointer of type const void*.
- num
- Number of bytes to copy.
Return Value
destination is returned.
Example
1 2 3 4 5 6 7 8 9 10 11
|
/* memmove example */
#include <stdio.h>
#include <string.h>
int main ()
{
char str[] = "memmove can be very useful......";
memmove (str+20,str+15,11);
puts (str);
return 0;
}
|
Output:
memmove can be very very useful.
|
See also
- memcpy
- Copy block of memory (function)
- memchr
- Locate character in block of memory (function)
- memcmp
- Compare two blocks of memory (function)
- memset
- Fill block of memory (function)
- strncpy
- Copy characters from string (function)