memmove() — Copy Bytes
Format
#include <string.h>
void *memmove(void *dest, const void *src, size_t count);
Language Level
ANSI
Threadsafe
Yes
Description
The memmove()
function
copies count bytes of src to dest.
This function allows copying between objects that might overlap as
if src is first copied into a temporary
array.
Return Value
The memmove()
function
returns a pointer to dest.
Example
This example copies the word "shiny" from
position target + 2 to position target + 8.
#include <string.h>
#include <stdio.h>
#define SIZE 21
char target[SIZE] = "a shiny white sphere";
int main( void )
{
char * p = target + 8; /* p points at the starting character
of the word we want to replace */
char * source = target + 2; /* start of "shiny" */
printf( "Before memmove, target is \"%s\"\n", target );
memmove( p, source, 5 );
printf( "After memmove, target becomes \"%s\"\n", target );
}
/********************* Expected output: ************************
Before memmove, target is "a shiny white sphere"
After memmove, target becomes "a shiny shiny sphere"
*/