memcpy () в C / C ++
Опубликовано: 1 Января, 2022
memcpy () используется для копирования блока памяти из одного места в другое. Он объявлен в string.h
// Копирует байты "numBytes" из адреса "from" в адрес "to" void * memcpy (void * to, const void * from, size_t numBytes);
Ниже приведен пример программы на языке C, демонстрирующей работу memcpy ().
/* AC program to demonstrate working of memcpy */ #include <stdio.h> #include <string.h> int main () { char str1[] = "Geeks" ; char str2[] = "Quiz" ; puts ( "str1 before memcpy " ); puts (str1); /* Copies contents of str2 to sr1 */ memcpy (str1, str2, sizeof (str2)); puts ( "
str1 after memcpy " ); puts (str1); return 0; } |
Выход:
str1 перед memcpy Компьютерщики str1 после memcpy Контрольный опрос
Примечания:
1) memcpy () не проверяет переполнение или 0
2) memcpy () приводит к проблемам, когда адреса источника и назначения перекрываются.
memmove () - еще одна библиотечная функция, которая хорошо справляется с перекрытием.
Напишите свои собственные memcpy () и memmove ()
Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше.
Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .