Справочник по C/C++
memmove()

#include <string.h>
void *memmove(void *to, const void *from, size_t count);

Описание

Копирует символы из одного массива в другой с учётом перекрытия массивов

Функция memmove() копирует count символов из массива, адресуемого параметром from, в массив, адресуемый параметром to. Если заданные массивы перекроются, процесс копирования пройдет корректно, т.е. соответствующее содержимое будет помещено в массив to, но массив from останется модифицированным.

Функция memmove() возвращает значение указателя to.