memmove()

Копировать из одной области памяти в другую с корректной обработкой перекрывающейся памяти

Прототип:

#include <string.h>
void * memmove( void *dst,
const void *src,
size_t length );

Аргументы:

dest
A pointer to where you want the function to copy the data.
src
A pointer to the buffer that you want to copy data from.
length
The number of bytes to copy.

Библиотека:

libc

Описание:

The memmove() function copies length bytes from the buffer pointed to by src to the buffer pointed to by dst. Copying of overlapping regions is handled safely. Use memcpy() for greater speed when copying buffers that don't overlap.

Возвращаемое значение:

A pointer to the destination buffer (that is, the value of 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 системной библиотеки