#include <string.h> void *memmove(void *to, const void *from, size_t count);
Функция memmove() копирует count символов из массива, адресуемого параметром from, в массив, адресуемый параметром to. Если заданные массивы перекрываются, процесс копирования проходит корректно, т.е. соответствующее содержимое будет помещено в массив to, но содержимое массива from при этом изменится.
Функция memmove() возвращает значение указателя to.
Данная программа сдвигает содержимое массива str на 10 позиций в сторону младших адресов и выводит результат на дисплей.
#include <stdio.h> #include <string.h> #define SIZE 80 int main(void) { char str[SIZE], *p; strcpy(str, "Когда, в случае если..."); p = str + 10; memmove(str, p, SIZE); printf("результат сдвига: %s", str); return 0; }