利用第二张FAT表挽救软盘数据
#include <dos.h>
main()
{
int i,j,dh,ch;
a:printf("Select drive/选定驱动器:(0->A/1->B)\n");
scanf("%d",&ch);
if (1<ch||ch<0)/*判断输入的驱动器选择是否正确*/
goto a;
printf("Select disk/选定磁盘类型:");
printf("(36->360K/72->720K/12->1.2M/14->1.44M)\n");
scanf("%d",&dh);/*按选定的软盘类型进行处理*/
switch(dh)
{
case 36:/*处理360K软盘*/
for (i=1;i<3;i++)
{
j=i+2
absread(ch,1,j,0);
abswrite(ch,1,i,0);
}
break;
case 72:/*处理720K软盘*/
for(i=1;i<4;i++)
{
j=i+3
absread(ch,1,j,0);
abswrite(ch,1,i,0);
}
break;
case 12:/*处理1.2M软盘*/
for(i=1;i<8,i++)
{
j=i+7;
absread(ch,1,j,0);
abswrite(ch,1,i,0);
}
break;
case 14:/*处理1.44M软盘*/
for(i=1;i<10;i++)
{
j=i+9;
absread(ch,1,j,0);
abswrite(ch,1,i,0);
}
break;
}
printf("OK!");
}