memcpy() w C/C++

Funkcja memcpy() w językach C i C++ służy do kopiowania bloku pamięci z jednej lokalizacji do drugiej. W przeciwieństwie do innych funkcji kopiowania, plik memcpy funkcja kopiuje określoną liczbę bajtów z jednego miejsca w pamięci do drugiego miejsca w pamięci, niezależnie od typu przechowywanych danych.

Deklaruje się w plik nagłówkowy. W C++ jest to również zdefiniowane wewnątrz plik nagłówkowy.

Składnia memcpy

Funkcja memcpy jest zadeklarowana jako:

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

Parametry

    to : Wskaźnik do lokalizacji pamięci, w której będą przechowywane skopiowane dane. from : Wskaźnik do lokalizacji pamięci, z której mają zostać skopiowane dane. numBytes : Liczba bajtów do skopiowania.

Wartość zwracana

  • Ta funkcja zwraca wskaźnik do lokalizacji pamięci, do której kopiowane są dane.

Przykład memcpy

Poniżej znajduje się program w C pokazujący działanie 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;> }>

Wyjście

str1 before memcpy Geeks str1 after memcpy Quiz 

Ważne uwagi dotyczące memcpy()

  1. memcpy() nie sprawdza przepełnienia ani .
  2. memcpy() prowadzi do niezdefiniowanego zachowania, gdy adresy źródłowy i docelowy nakładają się.

Notatka : memmove() to kolejna funkcja biblioteczna, która dobrze radzi sobie z nakładaniem się.

Powiązany artykuł

  • Napisz własne memcpy() i memmove()