### memmove -- Copy Bytes

Format

>     #include <string.h>  /* also in <memory.h> */
>     void *memmove(void *dest, const void *src, size_t count);

Language Level: ANSI, XPG4, Extension
memmove copies count bytes of src to dest. memmove allows copying between objects that may overlap. The behavior is as if the src is first copied into a temporary array.

Return Value
memmove 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 );
      return 0;

      /**********************************************************************
         The output should be:

         Before memmove, target is "a shiny white sphere"
         After memmove, target becomes "a shiny shiny sphere"
      **********************************************************************/
    }

memccpy -- Copy Bytes
memchr -- Search Buffer
memcmp -- Compare Buffers
memcpy -- Copy Bytes
memicmp -- Compare Bytes
memset -- Set Bytes to Value
strcpy -- Copy Strings
<memory.h>
<string.h>