Funkce memmove () v C ++ kopíruje zadané bajty dat ze zdroje do cíle.
prototyp memmove ()
void * memmove (void * dest, const void * src, size_t count);
memmove()
Funkce trvá tři argumenty: dest, src a počítat. Když je memmove()
funkce volána, kopíruje počet bajtů z umístění paměti, na které ukazuje src, do umístění paměti, na které ukazuje cíl.
Kopírování se provádí, i když se ukazatel src a dest překrývá. Důvodem je, že kopírování probíhá, jako by byla vytvořena mezipaměť, kde jsou data nejprve zkopírována do ze src a nakonec zkopírována do cíle.
Je definován v hlavičkovém souboru.
parametry memmove ()
dest
: Ukazatel na místo v paměti, kam se zkopíruje obsahsrc
: Ukazatel na místo v paměti, odkud je obsah kopírován.count
: Počet bajtů ke kopírování ze src do cíle.
memmove () Vrátit hodnotu
Funkce memmove () vrací cíl, ukazatel na místo v cílové paměti.
Příklad: Jak funguje funkce memmove ()
#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; )
Když spustíte program, výstup bude:
Po zkopírování 8 3 11 61-22 8 3 11 61-22