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;> }>

Вихід

str1 before memcpy Geeks str1 after memcpy Quiz 

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

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

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

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

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

Вам Може Сподобатися