C++ memcpy()

The memcpy() function in C++ copies a specified bytes of data from source to the destination.

memcpy() prototype

void* memcpy( void* dest, const void* src,size_t count );

The memcpy() function takes three arguments: dest, src and count. This function when called, copies count bytes from the memory location pointed to by src to the memory location pointed to by dest.

The behaviour of this function is undefined if:

  • Either src or dest is a null pointer.
  • The objects overlaps.

It is defined in <cstring> header file.

memcpy() Parameters

  • dest: Pointer to the memory location where the contents are copied to
  • src: Pointer to the memory location where the contents are copied from.
  • count: Number of bytes to copy from src to dest.

memcpy() Return value

The memcpy() function returns dest, the memory location of the destination.

Example: How memcpy() function works

#include <cstring>
#include <iostream>

using namespace std;

int main()
{
    int arr[10] = {8,3,11,61,-22,7,-6,2,13,47};
    int new_arr[5];

    memcpy(new_arr,arr,sizeof(int)*5);
    cout << "After copying" << endl;
    for (int i=0; i<5; i++)
        cout << new_arr[i] << endl;
    return 0;
}

When you run the program, the output will be:

After copying
8
3
11
61
-22