/*Funktion zum automatisch Löschen die temporären Akten */
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;
}
Anmerkungen zur Logik und zur Kodierung des Programms:
In diesem Programm im Allgemeinen folgen wir den folgenden zwei Schritten, um den nicht zugewiesenen Raum der Scheibe abzuwischen:
- Temporäre Dateien automatisch herstellen: Zuerst stellen wir temporäre Akten mit einzigartigen Namen und Haben von etwas Daten in ihnen her, bis der Plattenstapel mit diesen temporären Dateien voll ist. Indem man dies tut, wird aller nicht zugewiesene Datenbereich des logischen Antriebs durch die Daten der temporären Akten besetzt und alle nicht zugewiesenen Daten werden überschrieben.
Für das Tun dies, wählte ich die Namen der temporären Akten im TTPTxxxx.PTT Format, das Mittel, die ersten vier Buchstaben der temporären Akten TTPT sind und die Verlängerung der Akten .PTT ist. Sie wird so getan, um die temporären Akten zur Verfügung zu stellen die einzigartigen Dateinamen.
Ich habe die maximale Größe der einzelnen temporären Akte eingestellt, gleichwertig mit ungefähr 11.718 Sektordaten, jedoch, das du sie entsprechend dir definieren kannst. Ich beschloß Raumbuchstaben „“ (ASCII Buchstabe 32) um die Daten in den temporären Akten zu füllen. Jedoch gelegentliche Buchstaben können anstelle vom Raum auch benutzt werden.
- Alle temporären Akten entfernen: Wenn der logische Antrieb mit temporären Akten voll ist, zeigt er an, daß aller nicht zugewiesene Datenbereich jetzt überschrieben wird. Jetzt werden alle temporären Akten, die durch das Programm hergestellt werden, automatisch entfernt. Und folglich abgewischter heraus nicht zugewiesener Raum wird erzielt.
In der Kodierung des Programms, speichert der Buchstabe Reihe Dateiname den Dateinamen, um temporäre Akten, mit unterschiedlichen Namen automatisch zu erzeugen.
Das Funktion write_to_temp (Dateiname); füllt die temporäre Akte bis zu 11.718 gleichwertigen Daten der Sektoren (weil es kein Auftreten von 10.000 Sektoren in spezifiziertem Gruppe Schreiben des Puffers gibt), mit Hilfe von Datenpuffer dbuf von 40.000 Bytes. der Puffer mit 50 Zeitdaten wird hintereinander geschrieben, um das Schreiben zu beschleunigen.
Die temporären Akten werden hergestellt, bis der Plattenstapel voll ist und Akte Kreation Störung auftritt. Die remove_temp_file Funktion () entfernt alle temporäre Akte, hergestellt durch das Programm.
Auf diese Art wird aller nicht zugewiesene Raum heraus abgewischt, ohne die Daten des Plattenstapels zu schädigen.
|