///// 분야에 있는 파일의 크기를 산출하십시오 \\\\\
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 디스크 분야에 과실 쓰기");
getch();
exit(0);
}
j++;
}
printf("\n\n 파일 \"%.8s.%.3s\" 삭제하는!!!" ,
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("독서 분야에 있는 과실은 나가기 위하여, 누른다 어떤 열쇠든지…");
getch();
exit(1);
}
}
|