?? cofimain.c
字號(hào):
//********************************************
//文件名:COFIMAIN.C
//功能:1. 調(diào)用顯示漢字函數(shù)
// 2. 調(diào)用字符處理函數(shù)
// 3. 調(diào)用讀扇區(qū)匯編子程序
// 4. 通過(guò)連續(xù)讀取扇區(qū),每次恢復(fù)一個(gè)簇的文件數(shù)據(jù)
//********************************************
#include<string.h> //1.
#include<graphics.h> //2.
#include<stdio.h> //3.
#include<stdlib.h> //4.
#include<conio.h> //5.
#include<ctype.h> //6.
extern RHD(int,int,int,int,char *); //7.聲明讀扇區(qū)匯編子程序
int outhz(int,int,char *,int); //8.聲明漢字顯示函數(shù)
void finame(int,int); //9.聲明字符處理函數(shù)
void main() //10.
{ //11.
FILE *tmfp,*fp; //12.
int i,j; //13.
int c,y=0; //14.
unsigned int m; //15.
unsigned char h[512]; //16.
char name[13]; //17.
char sh[13]; //18.
unsigned long k; //19.
unsigned char s1,s2,s3,s4; //20.
extern char gsh[16]; //21.
int gdriver=DETECT,gmode; //22.
registerbgidriver(EGAVGA_driver); //23.
initgraph(&gdriver,&gmode,""); //24.
setbkcolor(0); //25.
cleardevice(); //26.
//27.
setviewport(0,20,400,40,0); //28.
outhz(0,0,"輸入需要建立的文件名:",7); //29.
finame(190,20); //30.
strcpy(sh,gsh); //31.
if((fp=fopen(gsh,"rb"))!=NULL) //32.
{ //33.
fclose(fp); //34.
setviewport(0,20,400,40,0); //35.
strcat(gsh,"文件在當(dāng)前目錄下" //36.
"已經(jīng)存在!"); //37.
outhz(0,20,gsh,14); //38.
outhz(0,40,"是否繼續(xù)運(yùn)行" //39.
"(Y/N)?",15); //40.
c=toupper(getch()); //41.
while((c==78)||(c==89)) //42.
{ //43.
if(c==78) //44.
{ //45.
closegraph(); //46.
exit(0); //47.
} //48.
if(c==89) //49.
break; //50.
} //51.
y=40; //52.調(diào)整坐標(biāo)
} //53.
setviewport(0,y+40,400,y+60,0); //54.
outhz(0,0,"輸入簇的起始扇區(qū)號(hào):",7); //55.
finame(170,y+40); //56.
k=atol(gsh); //57.
setviewport(0,y+60,400,y+80,0); //58.
outhz(0,0,"輸入每簇占用的扇區(qū)數(shù):",7); //59.
finame(190,y+60); //60.
m=atoi(gsh); //61.
for(j=1;j<=m;j++) //62.
{ //63.
tmfp=tmpfile(); //64.
fwrite(&k,4,1,tmfp); //65.
rewind(tmfp); //66.
fread(&s4,1,1,tmfp); //67.
fread(&s3,1,1,tmfp); //68.
fread(&s2,1,1,tmfp); //69.
fread(&s1,1,1,tmfp); //70.
fclose(tmfp); //71.
tmpnam(name); //72.
RHD(s1,s2,s3,s4,name); //73.調(diào)用讀扇區(qū)匯編子程序
fp=fopen(name,"rb"); //74.
for(i=0;i<=511;i++) //75.
{ h[i]=fgetc(fp); } //76.
fclose(fp); //77.
fp=fopen(sh,"ab+"); //78.以填加方式打開文件
for(i=0;i<=511;i++) //79.
{ fputc(h[i],fp); } //80.
fclose(fp); //81.
k++; //82.扇區(qū)號(hào)增1
remove(name); //83.
} //84.
closegraph(); //85.
} //86.
char gsh[16]; //87.
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -