C ++ memmove () - Τυπική βιβλιοθήκη C ++

Η συνάρτηση memmove () στο C ++ αντιγράφει συγκεκριμένα byte δεδομένων από την πηγή στον προορισμό.

memmove () πρωτότυπο

 void * memmove (void * dest, const void * src, size_t count);

Η memmove()συνάρτηση περιλαμβάνει τρία ορίσματα: dest, src και count. Όταν memmove()καλείται η συνάρτηση, αντιγράφει τα byte που υπολογίζονται από τη θέση μνήμης που υποδεικνύεται από το src στη θέση μνήμης που υποδεικνύεται από τον προορισμό.

Η αντιγραφή πραγματοποιείται ακόμη και αν ο δείκτης src και dest αλληλεπικαλύπτεται. Αυτό συμβαίνει επειδή η αντιγραφή πραγματοποιείται σαν να δημιουργείται ένα ενδιάμεσο buffer όπου τα δεδομένα αντιγράφονται πρώτα από το src και στη συνέχεια τελικά αντιγράφονται στο dest.

Ορίζεται στο αρχείο κεφαλίδας "> αρχείο κεφαλίδας.

memmove () Παράμετροι

  • dest: Δείκτης στη θέση μνήμης όπου αντιγράφονται τα περιεχόμενα
  • src: Δείκτης στη θέση μνήμης από την οποία αντιγράφονται τα περιεχόμενα.
  • count: Αριθμός byte για αντιγραφή από src σε dest.

memmove () Επιστροφή τιμής

Η λειτουργία memmove () επιστρέφει dest, ο δείκτης στη θέση μνήμης προορισμού.

Παράδειγμα: Πώς λειτουργεί η λειτουργία 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; )

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Μετά την αντιγραφή 8 3 11 61 -22 8 3 11 61 -22

ενδιαφέροντα άρθρα...