A C ++ memmove () függvény egy meghatározott bájt adatot másol a forrásból a célba.
memmove () prototípus
void * memmove (void * dest, const void * src, size_t count);
A memmove()
függvénynek három argumentuma van: dest, src és count. A memmove()
függvény meghívásakor a bájtokat másolja az src által jelzett memóriahelyről a dest által mutatott memóriahelyre.
A másolás akkor is megtörténik, ha az src és a cél mutató átfedik egymást. A másolás ugyanis úgy történik, mintha egy köztes puffer jönne létre, ahol az adatokat először az src-ből másolják, majd végül a dest-be másolják.
A "header file"> header fájlban van meghatározva.
memmove () Paraméterek
dest
: Mutató arra a memóriahelyre, ahová a tartalmat másoljuksrc
: Mutató arra a memóriahelyre, ahonnan a tartalmat másoljuk.count
: Az src-ről a célra másolandó bájtok száma.
memmove () Visszatérési érték
A memmove () függvény visszaadja a célt, a mutatót a cél memória helyére.
Példa: Hogyan működik a memmove () függvény
#include #include using namespace std; int main() ( int arr(10) = (8,3,11,61,-22,7,-6,2,13,47); int *new_arr = &arr(5); memmove(new_arr,arr,sizeof(int)*5); cout << "After copying" << endl; for (int i=0; i<10; i++) cout << arr(i) << endl; return 0; )
A program futtatásakor a kimenet a következő lesz:
8 3 11 61 -22 másolása után 8 3 11 61 -22