📄 cofi.c
字号:
//********************************************
//文件名:COFI.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,j; //6.
unsigned int m; //7.
unsigned char h[512]; //8.
char name[13]; //9.
char sh[13]; //10.
unsigned long k; //11.
unsigned char s1,s2,s3,s4; //12.
printf("Enter create file name: "); //13.
scanf("%s",sh); //14.输入建立的文件名
printf("Enter sector number: "); //15.
scanf("%lu",&k); //16.输入一个簇的首扇区号
printf("Enter sector block count: "); //17.
scanf("%u",&m); //18.输入一个簇的扇区数
for(j=1;j<=m;j++) //19.
{ //20.
tmfp=tmpfile(); //21.
fwrite(&k,4,1,tmfp); //22.
rewind(tmfp); //23.
fread(&s4,1,1,tmfp); //24.
fread(&s3,1,1,tmfp); //25.
fread(&s2,1,1,tmfp); //26.
fread(&s1,1,1,tmfp); //27.
fclose(tmfp); //28.
tmpnam(name); //29.
RHD(s1,s2,s3,s4,name); //30.调用读扇区汇编子程序
fp=fopen(name,"rb"); //31.打开临时文件
for(i=0;i<=511;i++) //32.
{ h[i]=fgetc(fp); } //33.将数据读入数组
fclose(fp); //34.
fp=fopen(sh,"ab+"); //35.以填加方式打开目的文件
for(i=0;i<=511;i++) //36.
{ fputc(h[i],fp); } //37.将数据输出到文件
fclose(fp); //38.
k++; //39.
remove(name); //40.删除临时文件
} //41.
} //42.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -