Funkcija memmove () C ++ kopē noteiktus datu baitus no avota uz galamērķi.
memmove () prototips
void * memmove (void * dest, const void * src, size_t skaits);
memmove()
Funkcija aizņem trīs argumentus: dest, src un skaitu. Kad memmove()
funkcija tiek izsaukta, tā kopē skaitīšanas baitus no atmiņas vietas, uz kuru norāda src, uz atmiņas vietu, uz kuru norāda dest.
Kopēšana tiek veikta pat tad, ja src un adreses rādītājs pārklājas. Tas notiek tāpēc, ka kopēšana notiek tā, it kā tiktu izveidots starpposma buferis, kur dati vispirms tiek kopēti no src un pēc tam galu galā kopēti uz dest.
Tas ir definēts galvenes failā "> header file.
memmove () Parametri
dest
: Rādītājs uz atmiņas vietu, kur tiek kopēts saturssrc
: Rādītājs uz atmiņas vietu, no kuras tiek kopēts saturs.count
: Baitu skaits, kas jākopē no src uz galamērķi.
memmove () Atgriešanās vērtība
Funkcija memmove () atgriež gala rādītāju uz galamērķa atmiņas vietu.
Piemērs: Kā darbojas funkcija 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; )
Palaidot programmu, izeja būs:
Pēc kopēšanas 8 3 11 61 -22 8 3 11 61 -22