/*Λειτουργία για να διαγράψει τα προσωρινά αρχεία αυτόματα */
remove_temp_file()
{
int i=0;
for(i=0;i<=file_num;i++)
{
strcpy(filename,"TTPT");
itoa(i,temp,10);
strcat(filename,temp);
strcat(filename,file_extension);
remove(filename);
}
exit(1);
return 0;
}
Σχόλια στη λογική και την κωδικοποίηση του προγράμματος:
Σε αυτό το πρόγραμμα βασικά ακολουθούμε τα ακόλουθα δύο βήματα για να σκουπίσουμε το αβοήθητο διάστημα του δίσκου:
- Δημιουργήστε τα προσωρινά αρχεία στοιχείων αυτόματα: Πρώτα δημιουργούμε τα προσωρινά αρχεία με τα μοναδικά ονόματα και την κατοχή μερικών στοιχείων σε τους έως ότου ο όγκος δίσκων είναι πλήρης με αυτά τα προσωρινά αρχεία στοιχείων. Με να κάνει αυτό, όλος ο αβοήθητος τομέας στοιχείων της λογικής κίνησης καταλαμβάνεται από τα στοιχεία των προσωρινών αρχείων και όλο το αβοήθητο στοιχείο είναι επικαλυμμένο.
Για να κάνω αυτό, επέλεξα τα ονόματα των προσωρινών αρχείων με το σχήμα του PTT TTPTxxxx., το οποίο τα μέσα, οι πρώτοι τέσσερις χαρακτήρες των προσωρινών αρχείων είναι TTPT και η επέκταση των αρχείων είναι. ο PTT Γίνεται έτσι για να παρέχει τα προσωρινά αρχεία τα μοναδικά ονόματα αρχείου.
Έχω θέσει το μέγιστο μέγεθος του ενιαίου προσωρινού αρχείου, ισοδύναμος με περίπου 11.718 στοιχεία τομέων εντούτοις μπορείτε να το καθορίσετε σύμφωνα με σας. Επέλεξα το διαστημικό χαρακτήρα "" (χαρακτήρας ASCII 32) για να γεμίσει τα στοιχεία στα προσωρινά αρχεία. Εντούτοις οι τυχαίοι χαρακτήρες μπορούν επίσης να χρησιμοποιηθούν αντί του διαστήματος.
- Αφαιρέστε όλα τα προσωρινά αρχεία: Όταν η λογική κίνηση είναι πλήρης με τα προσωρινά αρχεία, δείχνει ότι όλη η αβοήθητη περιοχή στοιχείων είναι τώρα επικαλυμμένη. Τώρα όλα τα προσωρινά αρχεία που δημιουργούνται από το πρόγραμμα αφαιρούνται αυτόματα. Και έτσι το σκουπισμένο έξω αβοήθητο διάστημα επιτυγχάνεται.
Στην κωδικοποίηση του προγράμματος, το όνομα αρχείου σειράς χαρακτήρα αποθηκεύει το όνομα αρχείων για να παραγάγει τα προσωρινά αρχεία αυτόματα, με τα διαφορετικά ονόματα.
Η λειτουργία write_to_temp (όνομα αρχείου) γεμίζει το προσωρινό αρχείο μέχρι 11.718 τομείς (επειδή δεν υπάρχει κανένα περιστατικό 10.000 τομέων στο διευκρινισμένο γράψιμο ομάδας των ισοδύναμων στοιχείων απομονωτών) με τη βοήθεια του απομονωτή στοιχείων dbuf 40.000 ψηφιολέξεων. ο απομονωτής 50 χρονικών στοιχείων γράφεται σε έναν χρόνο να επιταχυνθεί το γράψιμο.
Τα προσωρινά αρχεία δημιουργούνται έως ότου ο όγκος δίσκων είναι πλήρης και το λάθος δημιουργιών αρχείων εμφανίζεται. Η λειτουργία remove_temp_file () αφαιρεί όλο το προσωρινό αρχείο, που δημιουργείται από το πρόγραμμα.
Κατ' αυτό τον τρόπο όλο το αβοήθητο διάστημα σκουπίζεται έξω χωρίς βλάβη των στοιχείων του όγκου δίσκων.
|