www.pudn.com > TP333.3_S886.rar > CWMAIN.C
//******************************************** //文件名:CWMAIN.C //功能:1. 调用显示汉字函数 // 2. 调用字符处理函数 // 3. 将文件数据写入扇区 //******************************************** #include//1. #include //2. #include //3. #include //4. #include //5. #include //6. #include //7. #include //8. #include //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.定义全局数组变量