logo

memcpy() у C/C++

Функція memcpy() у C і C++ використовується для копіювання блоку пам’яті з одного місця в інше. На відміну від інших функцій копіювання, memcpy функція копіює вказану кількість байтів з однієї області пам’яті в іншу, незалежно від типу збережених даних.

Заявлено в файл заголовка. У C++ це також визначено всередині файл заголовка.



Синтаксис memcpy

Функція memcpy оголошується як:

void * memcpy (void * to , const void * from , size_t numBytes );>

Параметри

    до : вказівник на місце пам’яті, де будуть зберігатися скопійовані дані. from : вказівник на область пам’яті, звідки мають бути скопійовані дані. numBytes : кількість байтів для копіювання.

Повернене значення

  • Ця функція повертає вказівник на область пам’яті, куди копіюються дані.

Приклад memcpy

Нижче наведено програму на C, яка демонструє роботу memcpy()

C








// C program to demonstrate working of memcpy> #include> #include> int> main()> {> >char> str1[] =>'Geeks'>;> >char> str2[] =>'Quiz'>;> >puts>(>'str1 before memcpy '>);> >puts>(str1);> >// Copies contents of str2 to str1> >memcpy>(str1, str2,>sizeof>(str2));> >puts>(>' str1 after memcpy '>);> >puts>(str1);> >return> 0;> }>

пустий список java
>

>

Вихід

str1 before memcpy Geeks str1 after memcpy Quiz>

Важливі моменти про memcpy()

  1. memcpy() не перевіряє переповнення або .
  2. memcpy() призводить до невизначеної поведінки, коли адреси джерела та призначення накладаються.

Примітка : memmove() це ще одна бібліотечна функція, яка добре справляється з накладанням.

Пов'язана стаття

  • Напишіть власні memcpy() і memmove()