⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 allmain.c

📁 硬盘扇区读写技术-修复硬盘与恢复文件随书源代码
💻 C
📖 第 1 页 / 共 2 页
字号:
       fwrite(&h[i],1,1,fp);                  //138.
     fclose(fp);                              //139.
     closegraph();                            //140.
   }                                          //141.
                                              //142.
   if((strcmp(sh,"/c")==0)                    //143.
     ||(strcmp(sh,"/C")==0)&&argc==2)         //144.
   {                                          //145.
     outhz(0,20,"输入源柱面号:",7);          //146.
     finame(120,20);                          //147.
     cyl=atoi(gsh);                           //148.
     setviewport(0,20,400,40,0);              //149.
     outhz(0,20,"输入源磁头号:",7);          //150.
     finame(120,40);                          //151.
     head=atoi(gsh);                          //152.
     setviewport(0,40,400,60,0);              //153.
     outhz(0,20,"输入源扇区号:",7);          //154.
     finame(120,60);                          //155.
     sector=atoi(gsh);                        //156.
     biosdisk(0x02,0x80,head,cyl,sector,1,h); //157.
                                              //158.
     setviewport(0,60,400,80,0);              //159.
     outhz(0,20,"输入目的柱面号:",7);        //160.
     finame(140,80);                          //161.
     cyl1=atoi(gsh);                          //162.
     setviewport(0,80,400,100,0);             //163.
     outhz(0,20,"输入目的磁头号:",7);        //164.
     finame(140,100);                         //165.
     head1=atoi(gsh);                         //166.
     setviewport(0,100,400,120,0);            //167.
     outhz(0,20,"输入目的扇区号:",7);        //168.
     finame(140,120);                         //169.
     sector1=atoi(gsh);                       //170.
     biosdisk(0x03,0x80,head1,cyl1,           //171.
     sector1,1,h);                            //172.
     closegraph();                            //173.
   }                                          //174.
                                              //175.
   if((strcmp(sh,"/m")==0)                    //176.
     ||(strcmp(sh,"/M")==0)&&argc==2)         //177.
   {                                          //178.
     outhz(0,20,"输入源柱面号:",7);          //179.
     finame(120,20);                          //180.
     cyl=atoi(gsh);                           //181.
     setviewport(0,20,400,40,0);              //182.
     outhz(0,20,"输入源磁头号:",7);          //183.
     finame(120,40);                          //184.
     head=atoi(gsh);                          //185.
     setviewport(0,40,400,60,0);              //186.
     outhz(0,20,"输入源扇区号:",7);          //187.
     finame(120,60);                          //188.
     sector=atoi(gsh);                        //189.
     biosdisk(0x02,0x80,head,cyl,sector,1,h); //190.
                                              //191.
     setviewport(0,60,400,80,0);              //192.
     outhz(0,20,"输入目的柱面号:",7);        //193.
     finame(140,80);                          //194.
     cyl1=atoi(gsh);                          //195.
     setviewport(0,80,400,100,0);             //196.
     outhz(0,20,"输入目的磁头号:",7);        //197.
     finame(140,100);                         //198.
     head1=atoi(gsh);                         //199.
     setviewport(0,100,400,120,0);            //200.
     outhz(0,20,"输入目的扇区号:",7);        //201.
     finame(140,120);                         //202.
     sector1=atoi(gsh);                       //203.
     biosdisk(0x03,0x80,head1,cyl1,           //204.
     sector1,1,h);                            //205.
                                              //206.
     for(i=0;i<=511;i++)                      //207.
       h[i]=0;                                //208.
     biosdisk(0x03,0x80,head,cyl,sector,1,h); //209.
     closegraph();                            //210.
   }                                          //211.
                                              //212.
   if((strcmp(sh,"/w")==0)                    //213.
     ||(strcmp(sh,"/W")==0)&&argc==2)         //214.
   {                                          //215.
     outhz(0,20,"输入文件名:",7);            //216.
     finame(100,20);                          //217.
     if((fp=fopen(gsh,"rb"))==NULL)           //218.如果打开文件失败
     {                                        //219.
       setviewport(0,20,400,60,0);            //220.
       outhz(0,20,"打开文件失败!",15);       //221.
       outhz(0,40,"按一个键退出",15);         //222.
       getch();                               //223.接收一个字符
       closegraph();                          //224.
       exit(0);                               //225.
     }                                        //226.
     i=open(gsh,O_CREAT);                     //227.
     if(filelength(i)!=512)                   //228.若字节数不等于512
     {                                        //229.
       close(i);                              //230.
       setviewport(0,20,400,60,0);            //231.
       outhz(0,20,"输入的扇区数据文件名"      //232.
       "错误!",14);                          //233.
       outhz(0,40,"按一个键退出",14);         //234.
       getch();                               //235.
       closegraph();                          //236.
       exit(0);                               //237.
     }                                        //238.
     close(i);                                //239.
                                              //240.
     setviewport(0,20,400,40,0);              //241.
     outhz(0,20,"输入柱面号:",7);            //242.
     finame(100,40);                          //243.
     cyl=atoi(gsh);                           //244.
     setviewport(0,40,400,60,0);              //245.
     outhz(0,20,"输入磁头号:",7);            //246.
     finame(100,60);                          //247.
     head=atoi(gsh);                          //248.
     setviewport(0,60,400,80,0);              //249.
     outhz(0,20,"输入扇区号:",7);            //250.
     finame(100,80);                          //251.
     sector=atoi(gsh);                        //252.
     for(i=0;i<=511;i++)                      //253.
       fread(&h[i],1,1,fp);                   //254.
     biosdisk(0x03,0x80,head,cyl,sector,1,h); //255.
     fclose(fp);                              //256.
     closegraph();                            //257.
   }                                          //258.
                                              //259.
   if((strcmp(sh,"/cle")==0)                  //260.
     ||(strcmp(sh,"/CLE")==0)&&argc==2)       //261.
   {                                          //262.
     outhz(0,20,"输入柱面号:",7);            //263.
     finame(100,20);                          //264.
     cyl=atoi(gsh);                           //265.
     setviewport(0,20,400,40,0);              //266.
     outhz(0,20,"输入磁头号:",7);            //267.
     finame(100,40);                          //268.
     head=atoi(gsh);                          //269.
     setviewport(0,40,400,60,0);              //270.
     outhz(0,20,"输入扇区号:",7);            //271.
     finame(100,60);                          //272.
     sector=atoi(gsh);                        //273.
     for(i=0;i<=511;i++)                      //274.
       h[i]=0;                                //275.
     biosdisk(0x03,0x80,head,cyl,sector,1,h); //276.
     closegraph();                            //277.
   }                                          //278.
}                                             //279.
char gsh[16];                                 //280.定义全局数组变量

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -