- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
MyVirtualSystem
文件管理系统介绍
电142011010946
电14杨天宇2011010949
一、概况
此文件管理系统是应用C语言编译的一个较为初级文件系统。其原理是先
创建出一个文件MyVirtualSystem,将其虚拟硬盘。再将划分出的硬
盘分为1000个区,每个区10000字节。
对文件系统进行新建、删除及打开等操作时,以对整区操作的形式完成功
能,即整区为一个基本单元。
此外,该文件系统中总文件数不超过200个,每个文件不超过100个区,
且第一个区为系统文件信息区,编号为0,依次增大,区编号1~999。
二、细节说明
1主要思路与算法
本程序的功能实现依赖于用户对程序流程的控制,即通过选择想要实现的
功能来决定操作。菜单分为两级,第一级(主菜单)为欢迎界面,可以料及有
关信息或进入文件系统。第一次进入文件系统时会有文件系统初始化过程,随
后进入二级菜单,即文件操作菜单。用户可以选择新建、打开或删除文件。
关于文件信息系统的构建,本程序的文件信息区采用的是直接将文件
的基本信息文件名称、大小、存在状态及占用的分区等信息在固定的区域。
在进行文件操作时,一方面修改硬盘上的内容,另一方面相应地修改文件信息。
特别地,这里创建了一个空文件模版,用于对文件系统进行初始化及删除时直
接将其文件信息赋值。新建文件则通过从其他文件,以输入流的方式修改文件
系统。打开时,将所选定区域的文件内容输出至指定的文件。各项功能均能达
到满意的要求。
此外,出于用户友好的考虑,本程序界面简洁且操作明了,错误提示恰当,
并可以在菜单中返回或。
2主要结构体FILEINFO
为该文件系统内的所有文件的最基本信息
原代码:
typedefstruct
{
charfileName[50];//文件名称(长度不超过50个字符)
longintoffset;//文件大小(以字节计)
intexist;//存在状态(存在为1,不存在为0)
intposition[100];//文件占用的分区编号
}FILEINFO;
3主要子函数功能
(1)主要功能函数
voidinitializesys();
初始化文件系统,在第一次实用文件系统时调用,作用是将文件信息区全
部赋值为表示没有文件的值
intblank();
用于找到空的文件单元,返回该单元的编号
FILEINFOcreat();
新建文件时用于从用户获取文件名,返回该新建文件的文件信息
(2)流程控制函数
voidmainmenu();
打开主菜单
voidsubmenu1();
打开次级菜单1
voidsubmenu2();
打开次级菜单2
voidReturntoMainMenu();
返回主菜单
voidReturntoSubMenu();
返回次级菜单
voiddocsys
文档评论(0)