Функція 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()
- memcpy() не перевіряє переповнення або .
- memcpy() призводить до невизначеної поведінки, коли адреси джерела та призначення накладаються.
Примітка : memmove() це ще одна бібліотечна функція, яка добре справляється з накладанням.
Пов'язана стаття
- Напишіть власні memcpy() і memmove()