📄 cwmain.c
字号:
//********************************************
//文件名:CWMAIN.C
//功能:1. 调用显示汉字函数
// 2. 调用字符处理函数
// 3. 将文件数据写入扇区
//********************************************
#include<string.h> //1.
#include<graphics.h> //2.
#include<stdio.h> //3.
#include<conio.h> //4.
#include<ctype.h> //5.
#include<bios.h> //6.
#include<fcntl.h> //7.
#include<io.h> //8.
#include<stdlib.h> //9.
int outhz(int,int,char *,int); //10.对调用函数的声明
void finame(int,int); //11.对调用函数的声明
void main() //12.
{ //13.
char ch=0; //14.
char h[512]; //15.
FILE *fp; //16.
char *p; //17.
int i; //18.
int cyl=0,head=0,sector; //19.
extern char gsh[16]; //20.声明数组是外部变量
int gdriver=DETECT,gmode; //21.将图形驱动定义为自动检测
//22.
registerbgidriver(EGAVGA_driver); //23.装入图形驱动程序
initgraph(&gdriver,&gmode,""); //24.初始化图形屏幕
setbkcolor(0); //25.设置背景颜色
cleardevice(); //26.清除整个屏幕
outhz(0,20,"输入文件名:",7); //27.调用显示函数并传递参数
finame(100,20); //28.调用字符处理函数
strcpy(p,gsh); //29.拷贝字符串
//30.
while(1) //31.
{ //32.
if((fp=fopen(gsh,"rb"))==NULL) //33.如果打开文件失败
{ //34.
cleardevice(); //35.
setviewport(0,0,200,20,0); //36.设置新视区
outhz(0,20,"输入的文件名没有找到!",7); //37.
outhz(0,40,"是否继续输入文件名" //38.
"(Y/N)?",7); //39.
ch=toupper(getch()); //40.接收一个字符并转为大写
while((ch==78)||(ch==89)) //41.是否为N或Y
{ //42.
if(ch==78) //43.若为N
{ //44.
closegraph(); //45.关闭图形方式
exit(0); //46.退出程序
} //47.
if(ch==89) //48.若为Y
{ //49.
cleardevice(); //50.
outhz(0,20,"输入文件名:",7); //51.
finame(100,20); //52.
strcpy(p,gsh); //53.
break; //54.退出循环
} //55.
} //56.
} //57.
else //58.否则
break; //59.
} //60.
//61.
i=open(gsh,O_CREAT); //62.打开文件
if(filelength(i)!=512) //63.若字节数不等于512
{ //64.
close(i); //65.关闭文件
cleardevice(); //66.
setviewport(0,0,200,20,0); //67.
outhz(0,20,"输入的扇区数据文件名错误!",7);//68.
outhz(0,40,"按一个键退出",7); //69.
getch(); //70.接收一个字符
closegraph(); //71.
exit(0); //72.
} //73.
close(i); //74.
//75.
setviewport(0,20,200,40,0); //76.
outhz(0,20,"输入存储数据的扇区编号:",7); //77.
finame(210,40); //78.
sector=atoi(gsh); //79.将字符串转为int型的值
fp=fopen(p,"rb"); //80.以只读方式打开文件
for(i=0;i<=511;i++) //81.
h[i]=fgetc(fp); //82.将文件数据读入数组
biosdisk(0x03,0x80,head,cyl,sector,1,h); //83.调用函数将数据写入扇区
fclose(fp); //84.
closegraph(); //85.
} //86.
char gsh[16]; //87.定义全局数组变量
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -