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

📄 eamain.c

📁 硬盘修复参考源码。其中包括对扇区读写剪切等操作的具体代码。
💻 C
📖 第 1 页 / 共 2 页
字号:
     rewind(tmfp);                              //160.
     fread(&s4,1,1,tmfp);                       //161.
     fread(&s3,1,1,tmfp);                       //162.
     fread(&s2,1,1,tmfp);                       //163.
     fread(&s1,1,1,tmfp);                       //164.
     fclose(tmfp);                              //165.
     tmpnam(name);                              //166.
     RHD(s1,s2,s3,s4,name);                     //167.调用读扇区汇编子程序
     clrscr();                                  //168.
     fp=fopen(name,"rb");                       //169.
     for(i=1;i<=512;i++)                        //170.
     {                                          //171.
       c=fgetc(fp);                             //172.
       printf("%2x",c);                         //173.
       if(i%32==0)                              //174.
         printf("\n");                          //175.
     }                                          //176.
     printf("\n");                              //177.
     tmfp=tmpfile();                            //178.
     fwrite(&k1,4,1,tmfp);                      //179.
     rewind(tmfp);                              //180.
     fread(&s4,1,1,tmfp);                       //181.
     fread(&s3,1,1,tmfp);                       //182.
     fread(&s2,1,1,tmfp);                       //183.
     fread(&s1,1,1,tmfp);                       //184.
     fclose(tmfp);                              //185.
     WHD(s1,s2,s3,s4,name);                     //186.调用写扇区汇编子程序
     fclose(fp);                                //187.
     remove(name);                              //188.
     printf("\n");                              //189.
   }                                            //190.
                                                //191.
   if((strcmp(sh,"/m")==0)                      //192.搬移扇区数据
     ||(strcmp(sh,"/M")==0)&&argc==2)           //193.
   {                                            //194.
     printf("Enter SOURCE sector number: ");    //195.
     scanf("%lu",&k);                           //196.
     printf("Enter TARGET sector number: ");    //197.
     scanf("%lu",&k1);                          //198.
     tmfp=tmpfile();                            //199.
     fwrite(&k,4,1,tmfp);                       //200.
     rewind(tmfp);                              //201.
     fread(&s4,1,1,tmfp);                       //202.
     fread(&s3,1,1,tmfp);                       //203.
     fread(&s2,1,1,tmfp);                       //204.
     fread(&s1,1,1,tmfp);                       //205.
     fclose(tmfp);                              //206.
     tmpnam(name);                              //207.
     RHD(s1,s2,s3,s4,name);                     //208.
     clrscr();                                  //209.
     fp=fopen(name,"rb");                       //210.
     for(i=1;i<=512;i++)                        //211.
     {                                          //212.
       c=fgetc(fp);                             //213.
       printf("%2x",c);                         //214.
       if(i%32==0)                              //215.
         printf("\n");                          //216.
     }                                          //217.
     printf("\n");                              //218.
     tmfp=tmpfile();                            //219.
     fwrite(&k1,4,1,tmfp);                      //220.
     rewind(tmfp);                              //221.
     fread(&s4,1,1,tmfp);                       //222.
     fread(&s3,1,1,tmfp);                       //223.
     fread(&s2,1,1,tmfp);                       //224.
     fread(&s1,1,1,tmfp);                       //225.
     fclose(tmfp);                              //226.
     WHD(s1,s2,s3,s4,name);                     //227.
     tmfp=tmpfile();                            //228.
     fwrite(&k,4,1,tmfp);                       //229.
     rewind(tmfp);                              //230.
     fread(&s4,1,1,tmfp);                       //231.
     fread(&s3,1,1,tmfp);                       //232.
     fread(&s2,1,1,tmfp);                       //233.
     fread(&s1,1,1,tmfp);                       //234.
     fclose(tmfp);                              //235.
     for(i=0;i<=511;i++)                        //236.
       h[i]=0;                                  //237.
     fp=fopen(name,"wb");                       //238.
     for(i=0;i<=511;i++)                        //239.
       fputc(h[i],fp);                          //240.
     fclose(fp);                                //241.
     WHD(s1,s2,s3,s4,name);                     //242.
     remove(name);                              //243.
     printf("\n");                              //244.
   }                                            //245.
                                                //246.
   if((strcmp(sh,"/w")==0)                      //247.将文件数据写入扇区
     ||(strcmp(sh,"/W")==0)&&argc==2)           //248.
   {                                            //249.
     printf("Enter file name: ");               //250.
     scanf("%s",name);                          //251.
     if((fp=fopen(name,"rb"))==NULL)            //252.如果打开文件失败
     {                                          //253.
       printf("File open fail !");              //254.
       exit(0);                                 //255.
     }                                          //256.
     clrscr();                                  //257.
     fp=fopen(name,"rb");                       //258.
     for(i=1;i<=512;i++)                        //259.
     {                                          //260.
       c=fgetc(fp);                             //261.
       printf("%2x",c);                         //262.
       if(i%32==0)                              //263.
	 printf("\n");                          //264.
     }                                          //265.
     rewind(fp);                                //266.
     for(i=0;i<=511;i++)                        //267.
     fread(&h[i],1,1,fp);                       //268.
     fclose(fp);                                //269.
     printf("\n");                              //270.
     for(i=0;i<=511;i++)                        //271.
       t+=h[i];                                 //272.
     printf("Total : %ld\n",t);                 //273.
     printf("Is write sector(Y/N)?");           //274.
     while(1)                                   //275.
     {                                          //276.
       c=toupper(getch());                      //277.
       if(c==78)                                //278.
         exit(0);                               //279.
       if(c==89)                                //280.
         break;                                 //281.
     }                                          //282.
     printf("\n");                              //283.
     printf("Sector number: ");                 //284.
     scanf("%lu",&k);                           //285.
     tmfp=tmpfile();                            //286.
     fwrite(&k,4,1,tmfp);                       //287.
     rewind(tmfp);                              //288.
     fread(&s4,1,1,tmfp);                       //289.
     fread(&s3,1,1,tmfp);                       //290.
     fread(&s2,1,1,tmfp);                       //291.
     fread(&s1,1,1,tmfp);                       //292.
     fclose(tmfp);                              //293.
     WHD(s1,s2,s3,s4,name);                     //294.
     printf("\n");                              //295.
     fclose(fp);                                //296.
   }                                            //297.
                                                //298.
   if((strcmp(sh,"/cle")==0)                    //299.将扇区清零
     ||(strcmp(sh,"/CLE")==0)&&argc==2)         //300.
   {                                            //301.
     printf("Enter sector number: ");           //302.
     scanf("%lu",&k);                           //303.
     tmfp=tmpfile();                            //304.
     fwrite(&k,4,1,tmfp);                       //305.
     rewind(tmfp);                              //306.
     fread(&s4,1,1,tmfp);                       //307.
     fread(&s3,1,1,tmfp);                       //308.
     fread(&s2,1,1,tmfp);                       //309.
     fread(&s1,1,1,tmfp);                       //310.
     fclose(tmfp);                              //311.
     for(i=0;i<=511;i++)                        //312.
       h[i]=0;                                  //313.
     tmpnam(name);                              //314.
     fp=fopen(name,"wb");                       //315.
     for(i=0;i<=511;i++)                        //316.
       fputc(h[i],fp);                          //317.
     fclose(fp);                                //318.
     WHD(s1,s2,s3,s4,name);                     //319.
     remove(name);                              //320.
     printf("\n");                              //321.
   }                                            //322.
}                                               //323.

⌨️ 快捷键说明

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