Essayons cette information pour essuyer les données de n'importe quel dossier stocké dans 1.44Mb, disquette de pouce de 3 ½, avec l'aide de l'information de répertoire racine. Supposant que les données dans la disquette ne sont pas réduites en fragments, le programme donné prochains chiffons les données du dossier indiqué de son secteur de données:
/* Programme pour essuyer le secteur de données du dossier indiqué dans la disquette */
#include<stdio.h>
#include<dos.h>
///// Structure pour lire 32 bytes d'entrée de dossier dans le répertoire racine \\\\\
struct root
{
unsigned char filename[8]; /* Entrée de nom de fichier de 8 bytes */
unsigned char extension[3]; /* Prolongation du dossier de 3 bytes */
unsigned char attribute; /*Byte d'attribut de dossier */
unsigned char reserved[10]; /* Bytes réservés 10 */
unsigned int time; /* Temps, 2 bytes */
unsigned int date; /* Date, 2 bytes */
unsigned int starting_cluster;/* Commencer le faisceau du dossier, 2 bytes */
unsigned long file_size; /*Volume de fichier en bytes, 4 bytes */
};
/* Devrait être pris ceci pour lire toutes les entrées de répertoire racine */
//entrée de racine de struct [224] ;
/* Structure pour lire chacune des 16 entrées de dossier dans un secteur de répertoire racine */
struct one_root_sector
{
struct root entry[16];
};
struct one_root_sector one;
void main()
{
int result, i, num_sectors,j;
char wipe_buf[512]; /*Des données protègent pour être employées pour éliminer le secteur de données du dossier */
clrscr();
result= absread(0x00, 1, 19, &one); /* Lire le secteur absolu 19 (le premier secteur du répertoire racine) */
if (result != 0)
{
perror("L'erreur dans le secteur de lecture, appuient sur n'importe quelle touche pour sortir...");
getch();
exit(1);
}
|