2022年文件访问接口设计参考 .pdf
1课程设计说明书设计名称:操作系统课程设计题目:文件访问接口设计学生姓名:严嘉联专业:计算机科学与技术班级:2012 级学号:2012314107指导教师:任朝晖日期:2014年 9 月 12日名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 17 页 -佛山科学技术学院课程设计用纸2课程设计任务书计算机科学与技术专业12年级1班严嘉联一、设计题目文件访问借口设计二、主要内容本设计的目的是通过BIOS调用设计简单的文件访问接口,使学生掌握程序接口的方法。要求学生在熟悉比BIOS、DOS 操作系统的中断接口及程序接口的基础上,利用C语言设计简单的文件访问接口,最后通过程序验证接口的正确性。三、具体要求利用 C语言设计,具体包括:1、基本文件内容输入2、基本文件内容输出3、创建文件4、打开文件5、关闭文件6、文件缓冲区管理7、文件句柄管理8、读顺序文件9、写顺序文件10、读随机文件11、写随机文件12、文本文件操作验证程序上述功能由两部分程序验证,中断驻留程序和验证程序。首先运行中断驻留程序,然后运行验证程序得到预期结果。名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 17 页 -佛山科学技术学院课程设计用纸3四、进度安排依照教学计划,课程设计时间为:2 周。1-2 天:资料查找、系统分析,数据流程分析,概要设计1-2 天:系统详细设计、功能设计5-6 天:模块设计、编程调试1 天:资料整理、课程设计说明书编写。五、完成后应上交的材料课程设计说明书纸质文档六、总评成绩指导教师签名日期年月日系 主 任审核日期年月名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 17 页 -佛山科学技术学院课程设计用纸4目录一、程序概述.51.1 完成的任务.51.2 解决的问题.5二、概念原理.52.1 基本原理.5三、详细设计.63.1 函数功能模块.6四、源代码.6五、程序框图.12六、心得体会.17名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 17 页 -佛山科学技术学院课程设计用纸5一、程序概述1.1 完成的任务本设计是要求编写一个简单的访问接口程序,利用 C 语言,在熟悉BIOS、DOS 操作系统终端接口和程序接口的基础上进行设计。主要要求中所提到的功能是基本文件内容的输入输出、文件的创建、读写文件等。1.2 解决的问题在设计中,主要遇到的困难是如何创建接口从而可以进行文件的输入、屏幕显示。由于课题不允许直接使用编译程序上的SYSTEM 函数,所以把题目的难题大大的提高了。通过网上资料的搜集,可以借用C+的接口命令简化程序。二、概念原理2.1 基本原理基本流程图:名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 17 页 -佛山科学技术学院课程设计用纸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);四、源代码#include#include#include chard=I:VC+jialian.txt;/文件读取/classTinterfacepublic:int output_file();void input_file();bool create_file(charname);int open_file(charname);int order_file(char name);int random_file(char name);int Tinterface:output_file()ofstreamout;out.open(d,ios:app);/以追加方式打开文件/if(!out)coutCan not open;return1;couta;outa;out.close();void Tinterface:input_file()ifstreaminput;charch;input.open(d,ios:app);while(input.get(ch)coutch;coutendl;/创建文件bool Tinterface: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;coutname 创建成功!endl;fs.close();return1;cout文件已存在!endl;return 0;名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 17 页 -佛山科学技术学院课程设计用纸8/打开文件/int Tinterface:open_file(charname)ifstreamfs;fs.open(name,ios:nocreate);if(!fs)cout文件不存在!endl;elsecout文件已打开!endl;return 0;/顺序读写文件/int Tinterface:order_file(charname)int choice;cout请选择读写操作(1、顺序读2、顺序写)choice;if(choice=1)ifstream in;in.open(name,ios:nocreate|ios:out);if(!in)cout文件不存在!endl;elsecharch;while(in.get(ch)coutch;in.close();elseif(choice=2)ofstreamfs;fs.open(name,ios:nocreate|ios:in);if(!fs)cout文件不存在!endl;名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 17 页 -佛山科学技术学院课程设计用纸9elsecouta;fsa;fs.close();elsecout输入错误!endl;return 0;/随机读写文件/int Tinterface:random_file(char name)int choice;cout请选择读写操作(1、随机读2、随机写)choice;if(choice=1)ifstream in;in.open(name,ios:nocreate|ios:out);if(!in)cout文件不存在!endl;elseint i;cout请输入文件开始读的位置i;in.seekg(i,ios:beg);/输入流开始的位置/charch;while(in.get(ch)coutch;in.close();if(choice=2)名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 17 页 -佛山科学技术学院课程设计用纸10ofstreamout;out.open(name,ios:nocreate|ios:in);if(!out)cout文件不存在!endl;elseint i;cout请输入要输入的文字:a;cout请输入文字的插入的位置:i;out.seekp(i,ios:beg);outa;out.close();return 0;int main()Tinterfacefile;int choice;cout*菜单*nn1、基于文件内容的输入 n2、基于文件内容的输出 n3、创建文件 n4、打开文件 n5、顺序读写文件 n6、随机读写文件 n99、退出 nn;while(true)cout请选择功能 choice;switch(choice)case1:file.output_file();break;case2:file.input_file();break;名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 17 页 -佛山科学技术学院课程设计用纸11case3:charname256;coutname;file.create_file(name);coutendl;break;case4:charfname256;coutfname;file.open_file(fname);coutendl;break;case5:charfsname256;cout请输入文件名:fsname;file.order_file(fsname);coutendl;break;case6:charfiname256;cout请输入文件名:finame;file.random_file(finame);coutendl;break;case99:return 0;名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 17 页 -佛山科学技术学院课程设计用纸12五、程序框图名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 17 页 -佛山科学技术学院课程设计用纸13名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 17 页 -佛山科学技术学院课程设计用纸14名师资料总结-精品资料欢迎下载-名师精心整理-第 14 页,共 17 页 -佛山科学技术学院课程设计用纸15名师资料总结-精品资料欢迎下载-名师精心整理-第 15 页,共 17 页 -佛山科学技术学院课程设计用纸16名师资料总结-精品资料欢迎下载-名师精心整理-第 16 页,共 17 页 -佛山科学技术学院课程设计用纸17六、心得体会在这个课程设计中,我被分配到的任务是建立文件访问接口,刚好本学期我们学习了C+这门课程,里面就讲了关于文件操作的文件流,所谓学以致用,所以这次的课程设计我是用C+的文件流来实现设计要求的。运用了文件流的基本知识实现了文件的创建,输入,输出等等功能。从看到课程设计任务书之后,我就开始查找资料,从课本上还有网上,首先是将文件的打开方式掌握了,明白了如何对文件进行操作以及进行怎样的操作,准备了两三天之后才开始编写程序,编写程序中主要遇到的困难的在进行文件随机读写的时候seekp()与 seekg()使用过程中遇到许多的问题,刚开始对使用函数之后,文件当前指针位置的理解不透彻,所以在随机输出与输入的时候无法精确的按照想的位置开始进行读写,运行结果与自己想象中的不一样,最后通过咨询老师,了解其本质后才解决了这个问题。总体来说,因为我做的这个程序实现的功能很简单,程序相对来说也不是很难,所以我很快就完成了,只是这个程序还是存在着一定的缺陷,比如说,在进行顺序写的时候,如果文件本身存在内容的话,所写的内容会覆盖文件本身存在的内容,随机写的时候也会出现这个问题,可能会造成文件内容的缺失。针对这个问题,我自己也在努力探索,相信自己很快就可以解决掉这个问题。通过这次课程设计,我基本掌握C+文件流的操作,在自己的手下敲出一行行的代码直到完成整个课程设计,整个过程给了我很大的鼓舞,看着写完的代码,虽然简陋,但内心还是充满了成就感,体会到了当你努力去完成一件事情,成功的时候那种愉悦感。因此,在以后的学习中,我都会靠自己努力地去完成学习任务所要达到的要求。名师资料总结-精品资料欢迎下载-名师精心整理-第 17 页,共 17 页 -