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

📄 ecw.c

📁 硬盘扇区读写技术-修复硬盘与恢复文件随书源代码
💻 C
字号:
//********************************************
//文件名:ECW.C
//功能:1. 将扇区文件数据用十六进制显示在屏幕上
//      2. 调用汇编子程序将文件数据写入扇区
//********************************************
#include<stdio.h>                   //1.
#include<conio.h>                   //2.
#include<ctype.h>                   //3.
#include<stdlib.h>                  //4.
extern WHD(int,int,int,int,char *); //5. 声明汇编子程序
void main()                         //6.
{                                   //7.
  FILE *tmfp,*fp;                   //8.
  unsigned long k;                  //9.
  int i,c;                          //10.
  char *ch;                         //11.
  char sh[512];                     //12.
  long t=0;                         //13.
  unsigned char s1,s2,s3,s4;        //14.
  printf("File name:");             //15.
  scanf("%s",ch);                   //16.
  fp=fopen(ch,"rb");                //17.
  for(i=1;i<=512;i++)               //18.
  {                                 //19.
    c=fgetc(fp);                    //20.
    printf("%2x",c);                //21.显示十六进制数据
    if(i%32==0)                     //22.
      printf("\n");                 //23.
  }                                 //24.
  fclose(fp);                       //25.
  fp=fopen(ch,"rb");                //26.
  for(i=0;i<=511;i++)               //27.
    fread(&sh[i],1,1,fp);           //28.
  fclose(fp);                       //29.
  printf("\n");                     //30.
  for(i=0;i<=511;i++)               //31.
    t+=sh[i];                       //32.字节累加
  printf("Total : %ld\n\n",t);      //33.
  printf("Is write sector(Y/N)?");  //34.是否写扇区?
  while(1)                          //35.
  {                                 //36.
    c=toupper(getch());             //37.
    if(c==78)                       //38.
      exit(0);                      //39.
    if(c==89)                       //40.
      break;                        //41.
  }                                 //42.
  printf("\n");                     //43.
  printf("Sector number: ");        //44.
  scanf("%ld",&k);                  //45.输入扇区号
  tmfp=tmpfile();                   //46.
  fwrite(&k,4,1,tmfp);              //47.
  rewind(tmfp);                     //48.
  fread(&s4,1,1,tmfp);              //49.
  fread(&s3,1,1,tmfp);              //50.
  fread(&s2,1,1,tmfp);              //51.
  fread(&s1,1,1,tmfp);              //52.
  fclose(tmfp);                     //53.
  WHD(s1,s2,s3,s4,ch);              //54.调用写扇区子程序
}                                   //55.

⌨️ 快捷键说明

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