Μάθετε τη σύνταξη του memcpy σε C + + . Η πλήρης σύνταξη είναι άκυρη * memcpy (void * προορισμού , const void * πηγή , size_t αριθμός ) ? . Σημειώστε ότι αυτή η λειτουργία είναι πάντα αντίγραφα bytes της αναμέτρησης και δεν κοιτάξουμε για έναν χαρακτήρα τερματισμού , ώστε να είναι όσο το δυνατόν πιο αποτελεσματική . Memcpy επιστρέφει τον πίνακα προορισμού . 2
ξέρετε ότι οι δείκτες στα προέλευσης και προορισμού συστοιχίες είναι τύπου ρίχνει σε ένα είδος κενού . Το μέγεθος των συστοιχιών προορισμού και πηγής θα πρέπει να είναι τουλάχιστον num bytes να αποφευχθούν υπερχειλίσεις , αν και αυτό δεν απαιτείται. Memmove θα πρέπει να θεωρείται ως μια ασφαλέστερη προσέγγιση, αν η πηγή και η επικάλυψη προορισμού .
Εικόνων 3
Καταλάβετε ότι η + + memcpy λειτουργία C διατηρείται στη βιβλιοθήκη CString . Μπορεί να χρειαστεί να συμπεριλάβετε το αρχείο header string.h να χρησιμοποιήσετε memcpy
Η 4
Κοιτάξτε την παρακάτω πλήρες πρόγραμμα για ορισμένα απλά παραδείγματα για το πώς να χρησιμοποιήσετε memcpy : .
# Include # περιλαμβάνουν
int main ( ) { char string1 [ ] = " test string" ? char string2 [ 80 ] ? memcpy ( string2 , συμβολοσειρά1 , strlen ( συμβολοσειρά1 ) +1 ) ? printf ( " string1 : % s \\ nstring2 : % s \\ n " , συμβολοσειρά1 , συμβολοσειρά2 ) ? memcpy ( συμβολοσειρά1 , " " , 1 ) ? printf ( " string1 : % s \\ n " , string1 ) ? επιστροφή 0? }
5
Τηρείτε το ακόλουθο αποτέλεσμα για το πρόγραμμα αυτό :
αλφαριθμητικό1 : test stringstring2 : test stringstring1 :
Η πρώτη χρήση του memcpy αντιγράφει τα περιεχόμενα των string1 στα περιεχόμενα του string2 . Η δεύτερη χρήση memcpy καθαρίζει τα περιεχόμενα των string1 μετακινώντας το null χαρακτήρα τερματισμού στην πρώτη θέση της αλφαριθμητικό1 .
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα