///// Calculer la taille du dossier dans les secteurs \\\\\
num_sectors = one.entry[i].file_size/512;
if((one.entry[i].file_size%512)>0)
{
num_sectors = num_sectors+1;
}
/* Amortisseur de données de 512 bytes avec 512 caractères NULS */
for(j=0;j<512;j++)
{
wipe_buf[j] = '\0';
}
///// Commencer le secteur du dossier \\\\\
j= one.entry[i].starting_cluster+31;
/* Éliminer le secteur de données jusqu'aux secteurs de l'extrémité de dossier */
while(j!=(one.entry[i].starting_cluster +
num_sectors+31) )
{
if((abswrite(0x00, 1, j, &wipe_buf))!=0)
{
printf("\n Écriture d'erreur sur des secteurs de disque ");
getch();
exit(0);
}
j++;
}
printf("\n\n File \"%.8s.%.3s\" Supprimé !!!" ,
one.entry[i].filename,
one.entry[i].extension);
one.entry[i].attribute = 0; /* Placer l'attribut de dossier à 0 */
one.entry[i].time = 0; /* Essuyer l'information de Temps du dossier */
one.entry[i].date = 0; /* Essuyer l'information de date du dossier */
one.entry[i].starting_cluster = 0; /* Placer le faisceau commençant à 0
*/
one.entry[i].file_size = 0; /* Placer le volume de fichier à 0 */
one.entry[i].filename[0]=0xE5; /* Donner le statut supprimé de dossier au dossier */
///// Écrire au-dessus de l'information dans le répertoire racine \\\\\\
result= abswrite(0x00, 1, 19, &one);
if (result != 0)
{
perror("L'erreur dans le secteur de lecture, appuient sur n'importe quelle touche pour sortir...");
getch();
exit(1);
}
}
|