Копировать из одной области памяти в другую с корректной обработкой перекрывающейся памяти
#include <string.h>void * memmove( void *dst,const void *src,size_t length );
libc
Функция memmove() копирует length байт из буфера src в буфер dst. Копирование перекрывающихся областей выполняется безопасно. Используйте memcpy() для более быстрого копирования в случаях, когда буферы гарантированно не перекрываются.
Указатель на буфер dst.
#include <stdio.h>#include <string.h>#include <stdlib.h>int main( void ){char buffer[80];strcpy( buffer, "World");memmove( buffer + 1, buffer, 79 );printf( "%s\n", buffer );return (EXIT_SUCCESS);}
Код генерирует следующий вывод:
$ ./a.out WWorld
ANSI, POSIX 1003.1
memccpy(), memchr(), memcmp(), memcpy(), memicmp(), memset(), wmemmove()
Предыдущий раздел: Описание API системной библиотеки