|
/* 进入目标的途径,并将使康复档案名称 */
gotoxy(2,24);
cprintf("进入复苏轨道,filename档案: ");
fflush(stdin);
gets(Filename_with_path);
fp=fopen(Filename_with_path,"wb");
/*如果发生错误显示错误信息,使之与输入文件名再 */
if(fp==NULL)
{
gotoxy(5,25);
cprintf("打开文件错误");
getch();
clear_the_line(24);
gotoxy(0,25);
cprintf(" ");
integrate(size,cylinder,head,sector); /* 再次进入目的地 */
}
/* 如果一切没有问题,将写 */
gotoxy(50,23);
cprintf("综合::. .");
left= size%512;
sec = size/512;
sec++;
while(sec>0)
{
dinfo.drive = 0x00; /* 活动的人数: */
dinfo.head = head; /* 盘头多*/
dinfo.track = cylinder; /* 多轨道 */
dinfo.sector= sector; /* 一些部门 */
dinfo.nsectors=1; /* 计部门 */
dinfo.buffer = buf; /* 数据缓冲 */
result = _bios_disk(_DISK_READ, &dinfo);
/* 如有差错,任何部门阅读 */
if( (result & 0xff00) != 0)
{
gotoxy(5,25);
cprintf("经筒错误 %u, Head %u, Sector %u",
cylinder, head, sector);
}
else
{
if(sec==1)
{
for(i=0;i<left;i++)
fputc(buf[i],fp); /* 写综合信息档案*/
}
else
{
fwrite(buf,512,1,fp);
}
|
|