logo

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

czytanie Java w CSV
>

>

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()