/* Función para suprimir los ficheros temporales automáticamente */
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;
}
Comentarios sobre lógica y la codificación del programa:
En este programa seguimos básicamente los dos pasos siguientes para limpiar el espacio unallocated del disco:
- Crear los ficheros de datos temporales automáticamente: Primero creamos ficheros temporales con nombres únicos y tener ciertos datos en ellos hasta que el volumen de disco es lleno con estos ficheros de datos temporales. Haciendo esto, toda la área de datos unallocated de la impulsión lógica es ocupada por los datos de los ficheros temporales y se sobreescriben todos los datos unallocated.
Para hacer esto, elegí los nombres de ficheros temporales en el formato de TTPTxxxx.PTT, que los medios, los primeros cuatro caracteres de los ficheros temporales son TTPT y la extensión de los archivos es .PTT. Se hace tan para proporcionar los ficheros temporales los nombres de fichero únicos.
He fijado el tamaño máximo del solo fichero temporal, equivalente a aproximadamente 11.718 datos de los sectores sin embargo que puedes definirlo según ti. Elegí el carácter de espacio “” (el carácter de ASCII 32) para llenar los datos en ficheros temporales. Los caracteres al menos al azar se pueden también utilizar en vez de espacio.
- Quitar todos los ficheros temporales: Cuando la impulsión lógica es llena con los ficheros temporales, indica que toda la área de datos unallocated ahora está sobreescrita. Ahora todos los ficheros temporales creados por el programa se quitan automáticamente. Y se alcanza el espacio hacia fuera unallocated así limpiado.
En la codificación del programa, el nombre de fichero de la matriz de caracteres almacena el nombre del archivo para generar ficheros temporales automáticamente, con diversos nombres. El write_to_temp de la función (nombre de fichero); llena el fichero temporal hasta 11.718 datos equivalentes de los sectores (porque no hay ocurrencia de 10.000 sectores en la escritura especificada del grupo del almacenador intermediario) de la ayuda del dbuf del almacenador intermediario de los datos de 40.000 octetos. el almacenador intermediario de 50 datos de las épocas se escribe a la vez para acelerar la escritura. Se crean los ficheros temporales hasta que el volumen de disco es lleno y error de la creación ocurre del archivo. La función remove_temp_file () quita todo el fichero temporal, creado por el programa. De esta manera todo el espacio unallocated se limpia hacia fuera sin dañar los datos del volumen de disco.
|