- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
模拟文件系统
模拟文件系统
需求分析:
该模拟文件系统包括目录文件(简称目录)、普通文件(简称文件),i结点和存储区,并实现下面一些基本功能:
1.改变目录:CD 〈目录名〉,工作目录转到指定的目录下。
2.创建文件:EDIT 〈文件名〉,创建一个指定名字的新文件,即在目录中增加一项,不考虑文件的内容。
3.删除文件:DEL 〈文件名〉,删除指定的文件。
4.显示目录:DIR [〈目录名〉],显示目录下全部文件和第一级子目录,如果没有指定路径名,则显示当前目录下的内容。
5.创建目录:MD 〈目录名〉,再指定路径下创建指定的目录,或者在没有指定路径时,在当前目录下创建子目录。
6.删除目录:RD 〈目录名〉,删除指定的目录。
要考虑的特殊情况:
各个命令对全路径和相对路径的支持
目录不存在时,给出错误信息
不能用cd 进入文件
命令之中不能有空格 如ex it,给出错误提示
相对路径的解析
路径中的空格剔除
新建目录或文件时的问题
重名问题;
目录或文件的名字长度限制;
目录或文件的名字中包含不合法字符(注意空格)
删除目录或文件时的问题
删除不存在的文件或目录,给出错误提示
删除目录时目录不为空; 如果该目录为空,则可删除,否则给出是否做删除,删除操作将该目录下的全部文件和子目录都删除
进入到某个目录下,却要删除本目录或者上级目录
不能用del删除目录
不能用rd删除文件
概要设计:
2、程序模块图
详细设计:
数据结构:
(1)二叉树的节点用结构体表示,并用指针进行连接生成二叉树。
struct node
{
char filename[8]; /*结点名字,即文件或目录名字*/
int isdir; /*为文件或目录,0为文件,1为目录*/
struct node *child; /*指向孩子结点的指针*/
struct node *sibling; /*指向兄弟结点的指针*/
}; /*二叉树节点结构体*/
(2)6个结构体指针类型公共变量:
struct node *newnode; /*创建结点时指针*/
struct node *temp; /*活动的指针*/
struct node *temp2; /*活动的指针*/
struct node *temp3; /*活动的指针*/
struct node *temp4; /*活动的指针*/
struct node *T; /*指向根结点(hqy)的指针*/
(3)所有路径都用字符型二维数组表示:
char currentpath[10][8]; /*当前路径*/
char inputpath[10][8]; /*输入的路径*/
char path[10][8]; /*存放所有路径,为完全路径*/
(4)命令行、命令、新目录或文件名用字符一维数组表示;
char orderline[50]; /*从键盘上获得命令行,包括命令和路径*/
char order[5]; /*输入的命令*/
char newname[8]; /*新文件或目录的名字*/
(5)标准命令库:
char stdorder[7][5]={cd,edit,del,dir,md,rd,exit};/*标准命令库*/
(6)另外
int i,j; /*用作循环计数,作为公共变量,不必再声明*/
int orderflag; /*命令的标志,
int pathflag; /*路径的标志,分别用-2、-1、0、1、5表示
最后一个名字为新文件或目录、错误或无效的路径、
正确的相对路径、正确的完全路径、没有输入路径*/
2、流程图:
主函数流程图同上。
各部分流程图如下:
您可能关注的文档
- 朱丽倩.PDF
- 机动车网络拍卖公告.doc
- 朱嘉徵《乐府广序》与乐府笺释批评.PDF
- 机电之声.doc
- 李以衡同志到我街道塔光社区指导灾后重建工作.doc
- 李大齐还没向我求婚呢.PDF
- 李林的数学作业错了几道题,他没敢让爸爸看,怕星期六爸爸.ppt
- 李白——《清平调》.doc
- 李永乐经典400题(WORD)002(三).doc
- 李辉同志.doc
- 工业废水处理及循环利用技术推广计划.doc
- 2025年中国二乙基乙酰胺行业市场发展前景及发展趋势与投资战略研究报告.docx
- 2补充说明二:普查软件使用相关说明(第一部分)(1)(1).pdf
- UNIT 4 Section B 1a1e(第3课时)人教版初中英语八年级下.pptx
- 2025年中国圆形盘行业市场发展前景及发展趋势与投资战略研究报告.docx
- 基于大数据的农业智能化种植模式推广计划.doc
- 2025年中国硼砂行业市场发展前景及发展趋势与投资战略研究报告.docx
- 2025年中国喷涂钼丝行业市场发展前景及发展趋势与投资战略研究报告.docx
- 2025年中国彩色地板树脂行业市场发展前景及发展趋势与投资战略研究报告.docx
- 《上学期家长会课件》课件.ppt
最近下载
- 气管切开护理课件完整课件.pptx VIP
- 天津市城市桥梁工程施工及验收标准DBT29-75-2018.pdf
- 国土空间规划的知识基础及其结构.docx VIP
- 中国建设工程造价管理协会标准《建设项目全过程造价管理咨询工作规程》.doc
- 新时期特色小镇国土空间规划编制的思考.docx VIP
- 国开学习网电大计算机应用基础形考任务终结性考试(学士论文)附答案.docx
- 新时期国土空间规划的基础逻辑关系思辨.docx VIP
- YB 4407-2014 冶金矿山井巷安装工程质量验收规范.pdf
- LEGO乐高积木拼砌说明书80012,齐天大圣黄金机甲,LEGO®MonkieKid™(年份2020)安装指南_第1份共2份.pdf VIP
- 国土空间规划知识考题(附答案).pdf VIP
文档评论(0)