Βίντεο: Writing 2D Games in C using SDL by Thomas Lively 2024
Αχ, αντιγράφοντας ένα αρχείο - κάτι τόσο απλό, συμβαίνει συνεχώς. Αντιγράψτε αυτό το αρχείο εκεί. αντιγράψτε το αρχείο εδώ. Αλλά τι ακριβώς συμβαίνει όταν αντιγράφετε ένα αρχείο; Δημιουργείτε πραγματικά ένα νέο αρχείο και συμπληρώστε το με το ίδιο περιεχόμενο με το αρχικό αρχείο. Και πώς το κάνετε αυτό;
Λοιπόν, ακούγεται ότι πρέπει να διαβάσετε κάθε byte από το πρώτο αρχείο και να το γράψετε στο δεύτερο αρχείο. Μεγάλη ώρα.
Αλλά για να κάνετε τα πράγματα χειρότερα, αντιγραφή ενός αρχείου σημαίνει ότι πρέπει να βεβαιωθείτε ότι αντιγράφετε ακριβώς το ίδιο, ώστε να μην κολλήσετε τυχαία ένα επιπλέον 0 ή δύο στο τέλος του αρχείου, ή μια επιπλέον επιστροφή μεταφοράς ή linefeed στο τέλος του αρχείου (που θα μπορούσε να συμβεί όταν αντιγράφετε ένα αρχείο κειμένου).
Όταν όλα γίνουν, τα δύο αρχεία θα πρέπει να είναι ίδια - όχι μόνο να περιέχουν τις ίδιες πληροφορίες , αλλά να είναι και το ίδιο μέγεθος .
Αν προγραμματίζετε στα Windows, έχετε τύχη! Εφ 'όσον δεν χρησιμοποιείτε τα αρχαία Windows 3. 1, μπορείτε να πάρετε μια λειτουργία CopyFile! Για να είστε έτοιμοι να το χρησιμοποιήσετε, συμπεριλαμβάνετε τη γραμμή #include στην αίτησή σας. Στη συνέχεια, εδώ είναι μόνο που πρέπει να κάνετε:
CopyFile ("c: / σκύλος. Txt", "c: / dog2. Txt", TRUE);
Αυτά τα αντίγραφα από το c: / σκύλος. txt σε c: / dog2. κείμενο. Αλλά παρατηρήστε την τελική παράμετρο: Είναι η λέξη TRUE σε όλες τις κεφαλαίες. Τι είναι αυτό? Αυτή είναι μια μακροεντολή προεπεξεργαστή που ορίζεται κάπου στα έντερα των αρχείων κεφαλίδων των Windows.Πρέπει να χρησιμοποιήσετε TRUE ή FALSE όταν καλείτε οποιαδήποτε από τις λειτουργίες των Windows. Αυτό συμβαίνει επειδή στις παλιές ημέρες του C, όταν οι πρώτες εκδόσεις των Windows εφευρέθηκαν, δεν υπήρχε τύπος bool. Αυτοί οι περήφανοι άνθρωποι στα τέλη του 20ου αιώνα έπρεπε να ορίσουν τα δικά τους TRUE και FALSE ως ακέραιους (συνήθως είτε 1 και 0, αντίστοιχα, είτε 0 και 1, αντίστοιχα).
Και από την άλλη, αυτή η τελική παράμετρος στο CopyFile αναφέρει τη λειτουργία τι πρέπει να κάνει αν το αρχείο που αντιγράφετε υπάρχει ήδη: TRUE σημαίνει ότι δεν αντικαθιστάτε το υπάρχον αρχείο. απλά ματαιώστε. FALSE σημαίνει αντικατάσταση.