FAQ:WinAPI VCPP:скопировать блок памяти — различия между версиями

Материал из Весельчак У
Перейти к: навигация, поиск
(Новая: ===Как скопировать блок памяти?=== Скопировать участок M1 длиной N байтов в M2 можно функциями <code cpp> void * mem...)
(нет различий)

Версия 20:37, 31 июля 2008

Как скопировать блок памяти?

Скопировать участок M1 длиной N байтов в M2 можно функциями

void * memcpy(void * pM2, const void * pM1, size_t N);
void * memmove(void * pM2, const void * pM1, size_t N);

или при помощи макросов

CopyMemory(Destination, Source, Length);//использует
MoveMemory(Destination, Source, Length);

Если участки памяти перекрываются, то результат работы memcpy не определён. Функция memmove гарантирует правильное копирование даже при перекрывающихся участках.

Примечание:

Правильность переданных параметров в функциях не проверяется.