1课程设计说明书设计名称:操作系统课程设计题目:文件访问接口设计学生姓名:严嘉联专业:计算机科学与技术班级:2012级学号:2012314107指导教师:任朝晖日期:2014年9月12日佛山科学技术学院课程设计用纸2课程设计任务书计算机科学与技术专业12年级1班严嘉联一、设计题目文件访问借口设计二、主要内容本设计的目的是通过BIOS调用设计简单的文件访问接口,使学生掌握程序接口的方法。要求学生在熟悉比BIOS、DOS操作系统的中断接口及程序接口的基础上,利用C语言设计简单的文件访问接口,最后通过程序验证接口的正确性。三、具体要求利用C语言设计,具体包括:1、基本文件内容输入2、基本文件内容输出3、创建文件4、打开文件5、关闭文件6、文件缓冲区管理7、文件句柄管理8、读顺序文件9、写顺序文件10、读随机文件11、写随机文件12、文本文件操作验证程序上述功能由两部分程序验证,中断驻留程序和验证程序。首先运行中断驻留程序,然后运行验证程序得到预期结果。佛山科学技术学院课程设计用纸3四、进度安排依照教学计划,课程设计时间为:2周。1-2天:资料查找、系统分析,数据流程分析,概要设计1-2天:系统详细设计、功能设计5-6天:模块设计、编程调试1天:资料整理、课程设计说明书编写。五、完成后应上交的材料课程设计说明书纸质文档六、总评成绩指导教师签名日期年月日系主任审核日期年月佛山科学技术学院课程设计用纸4目录一、程序概述.............................................................................51.1完成的任务........................................................................51.2解决的问题........................................................................5二、概念原理.............................................................................52.1基本原理..........................................................................5三、详细设计.............................................................................63.1函数功能模块.......................................................................6四、源代码................................................................................6五、程序框图.............................................................................12六、心得体会.............................................................................17佛山科学技术学院课程设计用纸5一、程序概述1.1完成的任务本设计是要求编写一个简单的访问接口程序,利用C语言,在熟悉BIOS、DOS操作系统终端接口和程序接口的基础上进行设计。主要要求中所提到的功能是基本文件内容的输入输出、文件的创建、读写文件等。1.2解决的问题在设计中,主要遇到的困难是如何创建接口从而可以进行文件的输入、屏幕显示。由于课题不允许直接使用编译程序上的SYSTEM函数,所以把题目的难题大大的提高了。通过网上资料的搜集,可以借用C++的接口命令简化程序。二、概念原理2.1基本原理基本流程图:佛山科学技术学院课程设计用纸6三、详细设计3.1主要函数函数1:基于文件内容的输入函数:intoutput_file();函数2:基于文件内容的输出函数:intinput_file();函数3:创建文件函数:boolcreate_file(char*name);函数4:打开文件函数:intopen_file(charname[]);函数5:顺序读写文件函数:intorder_file(charname[]);函数6:随机读写文件函数:intrandom_file(charname[]);四、源代码#includeiostream.h#includefstream.h#includeassert.hchard[]=I:\\VC++\\jialian.txt;//文件读取//classTinterface{public:intoutput_file();voidinput_file();boolcreate_file(charname[]);intopen_file(charname[]);intorder_file(charname[]);intrandom_file(charname[]);};intTinterface::output_file(){ofstreamout;out.open(d,ios::app);//以追加方式打开文件//if(!out){coutCannotopen;return1;}cout请输入要输入的文字:;佛山科学技术学院课程设计用纸7chara[99];cina;outa;out.close();}voidTinterface::input_file(){ifstreaminput;charch;input.open(d,ios::app);while(input.get(ch)){coutch;}coutendl;}//创建文件boolTinterface::create_file(charname[]){ifstreamfs;if(!name)returnfalse;fs.open(name,ios::nocreate);//不建立文件,所以文件不存在时打开失败//if(!fs){fs.clear();fs.close();fs.open(name,ios::out);//文件以输出方式打开////打开成功返回1,失败为0//if(!fs.is_open()){cout创建失败!endl;fs.clear();fs.close();return0;}cout\name\创建成功!endl;fs.close();return1;}cout文件已存在!endl;return0;}佛山科学技术学院课程设计用纸8//打开文件//intTinterface::open_file(charname[]){ifstreamfs;fs.open(name,ios::nocreate);if(!fs){cout文件不存在!endl;}else{cout文件已打开!endl;}return0;}//顺序读写文件//intTinterface::order_file(charname[]){intchoice;cout请选择读写操作(1、顺序读2、顺序写)endl;cinchoice;if(choice==1){ifstreamin;in.open(name,ios::nocreate||ios::out);if(!in){cout文件不存在!endl;}else{charch;while(in.get(ch)){coutch;}}in.close();}else{if(choice==2){ofstreamfs;fs.open(name,ios::nocreate||ios::in);if(!fs){cout文件不存在!endl;}佛山科学技术学院课程设计用纸9else{cout请输入要输入的文字:;chara[99];cina;fsa;}fs.close();}else{cout输入错误!endl;}}return0;}//随机读写文件//intTinterface::random_file(charname[]){intchoice;cout请选择读写操作(1、随机读2、随机写)endl;cinchoice;if(choice==1){ifstreamin;in.open(name,ios::nocreate||ios::out);if(!in){cout文件不存在!endl;}else{inti;cout请输入文件开始读的位置endl;cini;in.seekg(i,ios::beg);//输入流开始的位置//charch;while(in.get(ch)){coutch;}in.close();}}if(choice==2){佛山科学技术学院课程设计用纸10ofstreamout;out.open(name,ios::nocreate||ios::in);if(!out){cout文件不存在!endl;}else{inti;cout请输入要输入的文字:endl;chara[99];cina;cout请输入文字的插入的位置:endl;cini;out.seekp(i,ios::beg);outa;}out.close();}return0;}intmain(){Tinterfacefile;intchoice;cout*************菜单******************\n\n1、基于文件内容的输入\n2、基于文件内容的输出\n3、创建文件\n4、打开文件\n5、顺序读写文件\n6、随机读写文件\n99、退出\n\n;while(true){cout请选择功能endl;cinchoice;switch(choice){case1:file.output_file();break;case2:file.input_file();break;佛山科学技术学院课程设计用纸11case3:charname[256];cout请输入要创建的文件名\n;cinname;file.create_file(name);coutendl;break;case4:charfname[256];cout请输入你要打开的文件名:\n;cinfname;file.open_file(fname);coutendl;break;case5:charfsname[256];cout请输入文件名:endl;cinfsname;file.order_file(fsname);coutendl;break;case6:charfiname[256];cout请输入文件名:endl;cinfiname;file.random_file(finame);coutendl;break;case99:return0;}}}佛山科学技术学院课程设计用纸12五、程序框图佛山科学技术学院课程设计用纸13佛山科学技术学院课程设计用纸14佛山科学技术学院课程设计用纸15佛山科学技术学院课程设计用纸16佛山科学技术学院课程设计用纸17六、心得体会在这个课程设计中,我被分配到的任务是建立文件访问接口,刚好本学期我们学习了C++这门课程,里面就讲了关于文件操作的文件流,所谓学以致用,所以这次的课程设计我是用C++的文件流来实现设计要求的。运用了文件流的基本知识实现了文件的创建,输入,输出等等功能。从看到课程设计任务书之后,我就开始查找资料,从课本上还有网上,首先是将文件的打开方式掌握了,明白了如何对文件进行