///// セクターのファイルのサイズを計算しなさい \\\\\
num_sectors = one.entry[i].file_size/512;
if((one.entry[i].file_size%512)>0)
{
num_sectors = num_sectors+1;
}
/*512の空白文字との512バイトのデータバッファ */
for(j=0;j<512;j++)
{
wipe_buf[j] = '\0';
}
///// ファイルのセクターの開始 \\\\\
j= one.entry[i].starting_cluster+31;
/* ファイル端のセクターまでのデータ域を一掃しなさい */
while(j!=(one.entry[i].starting_cluster +
num_sectors+31) )
{
if((abswrite(0x00, 1, j, &wipe_buf))!=0)
{
printf("\n Error Writing on Disk Sectors");
getch();
exit(0);
}
j++;
}
printf("\n\n File \"%.8s.%.3s\" Deleted !!!" ,
one.entry[i].filename,
one.entry[i].extension);
one.entry[i].attribute = 0; /* 0にファイル属性を置きなさい */
one.entry[i].time = 0; /* ファイルの時間情報を拭きなさい */
one.entry[i].date = 0; /* ファイルの日付情報を拭きなさい */
one.entry[i].starting_cluster = 0; /* 0に開始の集りを置きなさい
*/
one.entry[i].file_size = 0; /* 0にファイルサイズを置きなさい */
one.entry[i].filename[0]=0xE5; /* ファイルに削除されたファイル状態を与えなさい */
///// ルートディレクトリに情報の上で書きなさい \\\\\\
result= abswrite(0x00, 1, 19, &one);
if (result != 0)
{
perror("Error in Reading Sector, Press any key to
Exit...");
getch();
exit(1);
}
}
|