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

📄 hallmain.c

📁 该代码中包含数十个磁盘以及文件系统信息获取和修复的代码
💻 C
📖 第 1 页 / 共 3 页
字号:
       while((c==78)||(c==89))                //189.
       {                                      //190.
         if(c==78)                            //191.
         {                                    //192.
           closegraph();                      //193.
           exit(0);                           //194.
         }                                    //195.
         if(c==89)                            //196.
           break;                             //197.
       }                                      //198.
     }                                        //199.
     tmfp=tmpfile();                          //200.
     fwrite(&k,4,1,tmfp);                     //201.
     rewind(tmfp);                            //202.
     fread(&s4,1,1,tmfp);                     //203.
     fread(&s3,1,1,tmfp);                     //204.
     fread(&s2,1,1,tmfp);                     //205.
     fread(&s1,1,1,tmfp);                     //206.
     fclose(tmfp);                            //207.
     RHD(s1,s2,s3,s4,name);                   //208.
     fp=fopen(name,"rb");                     //209.
     for(i=0;i<=511;i++)                      //210.
     {                                        //211.
       h[i]=fgetc(fp);                        //212.
     }                                        //213.
     fclose(fp);                              //214.
     cleardevice();                           //215.
     setviewport(0,0,620,20,0);               //216.
     disph();                                 //217.
     setviewport(0,320,400,400,0);            //218.
     outhz(0,0,"上面显示的是扇区文件"         //219.
     "十六进制数据:",7);                     //220.
     fp=fopen(name,"rb");                     //221.
     for(i=0;i<=511;i++)                      //222.
     {                                        //223.
       fh[i]=fgetc(fp);                       //224.
     }                                        //225.
     fclose(fp);                              //226.
     for(i=0;i<=511;i++)                      //227.
       t+=fh[i];                              //228.
     ltoa(t,th,10);                           //229.
     outhz(0,40,"字节总算术和是:",7);        //230.
     outhz(0,60,"按任一键退出",7);            //231.
     outhz(140,40,th,7);                      //232.
   }                                          //233.
                                              //234.
   if((strcmp(sh,"/c")==0)                    //235.将源扇区数据拷贝到目的扇区
     ||(strcmp(sh,"/C")==0)&&argc==2)         //236.
   {                                          //237.
     setviewport(0,20,400,40,0);              //238.
     outhz(0,20,"输入源扇区号:",7);          //239.
     finame(120,40);                          //240.
     k=atol(gsh);                             //241.
     tmfp=tmpfile();                          //242.
     fwrite(&k,4,1,tmfp);                     //243.
     rewind(tmfp);                            //244.
     fread(&s4,1,1,tmfp);                     //245.
     fread(&s3,1,1,tmfp);                     //246.
     fread(&s2,1,1,tmfp);                     //247.
     fread(&s1,1,1,tmfp);                     //248.
     fclose(tmfp);                            //249.
     tmpnam(name);                            //250.
     RHD(s1,s2,s3,s4,name);                   //251.
     fp=fopen(name,"rb");                     //252.
     for(i=0;i<=511;i++)                      //253.
     {                                        //254.
       h[i]=fgetc(fp);                        //255.
     }                                        //256.
     fclose(fp);                              //257.
     cleardevice();                           //258.
     setviewport(0,0,620,20,0);               //259.
     disph();                                 //260.
     setviewport(0,320,400,400,0);            //261.
     outhz(0,0,"上面显示的是扇区文件"         //262.
     "十六进制数据:",7);                     //263.
     fp=fopen(name,"rb");                     //264.
     for(i=0;i<=511;i++)                      //265.
     {                                        //266.
       fh[i]=fgetc(fp);                       //267.
     }                                        //268.
     fclose(fp);                              //269.
     for(i=0;i<=511;i++)                      //270.
       t+=fh[i];                              //271.
     ltoa(t,th,10);                           //272.
     outhz(0,40,"字节总算术和是:",7);        //273.
     outhz(140,40,th,7);                      //274.
                                              //275.
     outhz(0,60,"数据是否写入目的"            //276.
     "扇区(Y/N)?",7);                   //277.
     c=toupper(getch());                      //278.
     while((c==78)||(c==89))                  //279.
     {                                        //280.
       if(c==78)                              //281.
       {                                      //282.
         remove(name);                        //283.
         closegraph();                        //284.
         exit(0);                             //285.
       }                                      //286.
       if(c==89)                              //287.
         break;                               //288.
     }                                        //289.
     outhz(0,80,"输入目的扇区号:",7);        //290.
     finame(140,400);                         //291.
     k1=atol(gsh);                            //292.
     tmfp=tmpfile();                          //293.
     fwrite(&k1,4,1,tmfp);                    //294.
     rewind(tmfp);                            //295.
     fread(&s4,1,1,tmfp);                     //296.
     fread(&s3,1,1,tmfp);                     //297.
     fread(&s2,1,1,tmfp);                     //298.
     fread(&s1,1,1,tmfp);                     //299.
     fclose(tmfp);                            //300.
     WHD(s1,s2,s3,s4,name);                   //301.调用写扇区汇编子程序
     remove(name);                            //302.
     setviewport(0,400,300,440,0);            //303.
     outhz(0,20,"数据已经写入目的扇区",7);    //304.
     outhz(0,40,"按任一键退出",7);            //305.
   }                                          //306.
                                              //307.
   if((strcmp(sh,"/m")==0)                    //308.将源扇区数据搬移到目的扇区
     ||(strcmp(sh,"/M")==0)&&argc==2)         //309.并且将源扇区清零
   {                                          //310.
     setviewport(0,20,400,40,0);              //311.
     outhz(0,20,"输入源扇区号:",7);          //312.
     finame(120,40);                          //313.
     k=atol(gsh);                             //314.
     tmfp=tmpfile();                          //315.
     fwrite(&k,4,1,tmfp);                     //316.
     rewind(tmfp);                            //317.
     fread(&s4,1,1,tmfp);                     //318.
     fread(&s3,1,1,tmfp);                     //319.
     fread(&s2,1,1,tmfp);                     //320.
     fread(&s1,1,1,tmfp);                     //321.
     fclose(tmfp);                            //322.
     tmpnam(name);                            //323.
     RHD(s1,s2,s3,s4,name);                   //324.
     fp=fopen(name,"rb");                     //325.
     for(i=0;i<=511;i++)                      //326.
     {                                        //327.
       h[i]=fgetc(fp);                        //328.
     }                                        //329.
     fclose(fp);                              //330.
     cleardevice();                           //331.
     setviewport(0,0,620,20,0);               //332.
     disph();                                 //333.
     setviewport(0,320,400,400,0);            //334.
     outhz(0,0,"上面显示的是扇区文件"         //335.
     "十六进制数据:",7);                     //336.
     fp=fopen(name,"rb");                     //337.
     for(i=0;i<=511;i++)                      //338.
     {                                        //339.
       fh[i]=fgetc(fp);                       //340.
     }                                        //341.
     fclose(fp);                              //342.
     for(i=0;i<=511;i++)                      //343.
       t+=fh[i];                              //344.
     ltoa(t,th,10);                           //345.
     outhz(0,40,"字节总算术和是:",7);        //346.
     outhz(140,40,th,7);                      //347.
                                              //348.
     outhz(0,60,"数据是否写入目的扇区,"      //349.
     "源扇区清零(Y/N)?",7);             //350.
     c=toupper(getch());                      //351.
     while((c==78)||(c==89))                  //352.
     {                                        //353.
       if(c==78)                              //354.
       {                                      //355.
         remove(name);                        //356.
         closegraph();                        //357.
         exit(0);                             //358.
       }                                      //359.
       if(c==89)                              //360.
         break;                               //361.
     }                                        //362.
     outhz(0,80,"输入目的扇区号:",7);        //363.
     finame(140,400);                         //364.
     k1=atol(gsh);                            //365.
     tmfp=tmpfile();                          //366.
     fwrite(&k1,4,1,tmfp);                    //367.
     rewind(tmfp);                            //368.
     fread(&s4,1,1,tmfp);                     //369.
     fread(&s3,1,1,tmfp);                     //370.
     fread(&s2,1,1,tmfp);                     //371.
     fread(&s1,1,1,tmfp);                     //372.
     fclose(tmfp);                            //373.
     WHD(s1,s2,s3,s4,name);                   //374.数据写入目的扇区
     remove(name);                            //375.
     for(i=0;i<=511;i++)                      //376.
       fh[i]=0;                               //377.
     tmpnam(name);                            //378.
     fp=fopen(name,"wb");                     //379.
     for(i=0;i<=511;i++)                      //380.
       fputc(fh[i],fp);                       //381.
     fclose(fp);                              //382.
     tmfp=tmpfile();                          //383.
     fwrite(&k,4,1,tmfp);                     //384.
     rewind(tmfp);                            //385.

⌨️ 快捷键说明

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