##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# memmove

From cppreference.com
< c‎ | string‎ | byte

Defined in header `<string.h>` |  |
void* memmove( void* dest, const void* src, size_t count ); |  |

Copies `count` characters from the object pointed to by `src` to the object pointed to by `dest`. The objects may overlap: copying takes place as if the characters were copied to a temporary character array and then the characters were copied from the array to `dest`.

### [edit] Parameters

dest | - | pointer to the memory location to copy to
src | - | pointer to the memory location to copy from
count | - | number of bytes to copy

### [edit] Return value

`dest`

### [edit] Example

Run this code

    #include <stdio.h>
    #include <string.h>

    int main(void)
    {
        char str[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        puts (str);
        memmove (str+6,str+3,7);
        puts (str);
        return 0;
    }

Output:

    ABCDEFGHIJKLMNOPQRSTUVWXYZ
    ABCDEFDEFGHIJNOPQRSTUVWXYZ

### [edit] See also

memcpy | copies one buffer to another (function) [edit]
C++ documentation for memmove

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=c/string/byte/memmove&oldid=70106"