Memcpy

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

Funkcja służy do dosłownego kopiowania pamięci bajt po bajcie.

Argumenty
dest - adres docelowy (ten, pod który zostanie skopiowane pamięć).
src - adres źródłowy.
count - rozmiar danych do skopiowania (w bajtach).

Zwracana wartość
Wartość dest.

Przykład

```cpp #include<string.h>

int main()
{
int src[20] =
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 };
int dest[10];
memcpy(dest, src, sizeof(int) * 10);
//teraz w dest znajduje się pierwsze 10 elementów z src
}


<b>Omówienie przykładu</b>
* Tworzymy i inicjalizujemy tablicę 20 intów, która będzie źródłem danych,
* Tworzymy tablicę 10 intów, która posłuży jako cel,
* Kopiujemy pierwszych sizeof(int) * 10 bajtów (czyli 10 intów) z src do dest.

Uwaga! W C++ memcpy można użyć tylko do typów POD (znaczy się do innych typów też, ale wtedy będzie to niepoprawne), czyli takich, które są typami wbudowanymi, tudzież: zawierają tylko pola będące PODami, z trywialnym konstruktorem i destruktorem, bez przeciążonego operatora przypisania i zawierającymi tylko niestatyczne składowe.

2 komentarzy

przecież dobrze wiesz :>

a może by tak łaskawie napisać do czego w ogóle ta funkcja służy :|
"dest - nowy bufor" - a cóż to za nowy bufor