?? 挽救軟盤(pán).c
字號(hào):
軟盤(pán)的FAT表(文件分配表)被損壞時(shí),計(jì)算機(jī)就不能從軟盤(pán)上讀取數(shù)據(jù)。
但是,在軟盤(pán)中有兩份完全相同的文件分配表,而DOS在讀文件時(shí)并不使用
第二張文件分配表,因此,它被損壞的可能性較低。在計(jì)算機(jī)提示FAT表?yè)p
壞時(shí),利用第二張分配表重寫(xiě)第一張文件分配表,往往能成功地挽回你的軟
盤(pán)上的數(shù)據(jù)。文件分配表在磁盤(pán)中的具體位置及長(zhǎng)度視磁盤(pán)的規(guī)格不同而
不同。
本文提供的程序,用Turbo C 2.0編寫(xiě),于Dos6.22,UCDOS 3.1下通過(guò)。
按照程序的提示,可方便地完成這一工作。
#include [dos.h]
main ()
{int i,j,dh,ch;
a: printf ("Select drive/選定驅(qū)動(dòng)器: (0->A/1->B) \n");
scanf(" %d",&ch);
if (1 goto a;
printf ("Slect disk/選定磁盤(pán)類(lèi)型:");
printf(" (36->360KB/72->720KB/12->1.2MB/14->1.44MB) \n");
scanf(" %d" ,&dh);/*按選定的軟盤(pán)類(lèi)型進(jìn)行處理*/
switch (dh)
{case 36:/*處理360KB軟盤(pán)*/
for (i=1; i<3;i++)
{j=j+2
absread(ch,1,j,0);
abswrite (ch,1,i,0);}
break;
case 72: /*處理720KB軟盤(pán)*/
for (i=1; i<4; i++)
{j=i+3;
absread (ch,1,j,0);
abswrite(ch,1,i,0);}
break;
case 12: /*處理1.2MB軟盤(pán)*/
for (i=1; i<8; i++)
{j=i+7;
absread (ch,1,j,0);
abswrite (ch,1,i,0);
}
break;
case 14: /*處理1.44MB軟盤(pán)*/
for (i=1; i<10; i++)
{
j=i+9;
absread (ch,1,j,0);
abswrite (ch,1,i,0);
}
break;
}
printf ("OK!");
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -