📄 ecr.c
字号:
//********************************************
//文件名:ECR.C
//功能:1. 调用汇编子程序读扇区数据并建立存储文件
// 2. 将扇区数据用十六进制显示在屏幕上
//********************************************
#include<stdio.h> //1.
extern RHD(int,int,int,int,char *); //2.
void main() //3.
{ //4.
FILE *tmfp,*fp; //5.
int i,c; //6.
char h[512]; //7.
long t=0; //8.
unsigned long k; //9.
char *ch=""; //10.
unsigned char s1,s2,s3,s4; //11.
//12.
printf("File name:"); //13.
scanf("%s",ch); //14.输入文件名
printf("Sector number:"); //15.
scanf("%ld",&k); //16.输入扇区号
tmfp=tmpfile(); //17.建立临时文件
fwrite(&k,4,1,tmfp); //18.将扇区号写入临时文件
rewind(tmfp); //19.指针回到文件头
fread(&s4,1,1,tmfp); //20.读一个字节
fread(&s3,1,1,tmfp); //21.读一个字节
fread(&s2,1,1,tmfp); //22.读一个字节
fread(&s1,1,1,tmfp); //23.读一个字节
fclose(tmfp); //24.
RHD(s1,s2,s3,s4,ch); //25.调用汇编子程序并传递参数
fp=fopen(ch,"rb"); //26.打开文件
for(i=1;i<=512;i++) //27.
{ //28.
c=fgetc(fp); //29.读一个字符
printf("%2x",c); //30.十六进制显示
if(i%32==0) //31.显示32个字符换行
printf("\n"); //32.
} //33.
fclose(fp); //34.
fp=fopen(ch,"rb"); //35.
for(i=0;i<=511;i++) //36.
fread(&h[i],1,1,fp); //37.将字节读入数组
fclose(fp); //38.
printf("\n\n"); //39.
for(i=0;i<=511;i++) //40.
t+=h[i]; //41.算术和累加
printf("Total : %ld\n",t); //42.
} //43.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -