模拟文件管理系统.docx
《模拟文件管理系统.docx》由会员分享,可在线阅读,更多相关《模拟文件管理系统.docx(14页珍藏版)》请在冰点文库上搜索。
模拟文件管理系统
一.课程设计目的1
二.课程设计要求2
三.设计思想及流程3
四.数据结构3
五.详细设计5
六.程序源代码7
七.运行结果20
(
八.课程设计心得23
九.参考文献23
·
一.课程设计目的
深入了解文件管理系统,初步掌握文件管理系统的实现方法。
用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。
从而对各种文件操作命令的实质内容和执行过程有比较深入的了解。
:
二.课程设计要求
编写一程序,模拟一个简单的文件管理系统。
树型结构,目录下可以是目录,也可以是文件。
在此文件管理系统,可实现的操作有:
改变目录:
格式:
cd<目录名>
显示目录:
格式:
dir<目录名>
创建目录:
格式:
md<目录名>
删除目录:
格式:
rd<目录名>
新建文件:
格式:
edit<文件名>
^
删除文件:
格式:
del<文件名>
退出文件系统:
exit
1.文件系统采用二叉树型存储结构,结点结构如下:
structFileNode
{
charfilename[FILENAME_LEN];};
2.目录名和文件名支持全路径名和相对路径名,路径名各分量间用“/”隔开
;
3.功能具体描述:
改变目录:
改变当前工作目录,目录不存在时给出出错信息
显示目录:
显示指定目录下或当前目录下所有文件和一级目录(选做:
带/s参数的dir命令,显示所有子目录)
创建目录:
在指定路径或当前路径下创建指定目录。
重名时给出错信息。
删除目录:
删除指定目录下所有文件和子目录。
要删目录不空时,要给出提示是否要删除。
创建文件:
创建指定名字的文件,只要创建表示文件的节点即可,内容及大小不考虑。
删除文件:
删除指定文件,不存在时给出出错信息。
退出文件系统:
exit
^
4、总体流程:
初始化文件目录;
输出提示符,等待接受命令,分析键入的命令;
对合法的命令,执行相应的处理程序,否则输出错误信息,继续等待新命令,直到键入EXIT退出为止。
三.设计思想及流程
1.在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个简单的单用户文件系统。
2.文件存储空间的分配采用显式链接分配。
为了实现创建和删除文件必须要有一棵初始的文件树存在,以便在文件树的根节点下实现创建和删除文件。
3.数据结构与树结构。
数据结构是计算机存储、组织数据的方式。
数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。
,
树是一种重要的非线性数据结构,直观地看,它是数据元素(在树中称为结点)按分支关系组织起来的结构,很象自然界中的树那样。
树中每个分叉点称为结点,起始结点称为树根,任意两个结点间的连接关系称为树枝,结点下面不再有分枝称为树叶。
结点的前趋结点称为该结点的"双亲",结点的后趋结点称为该结点的"孩子",同一结点的"孩子"之间互称"兄弟"。
4.文件目录结构采用多级目录结构。
为了简单起见,可以使用文件结构体,结构体内容包括:
文件名,文件目录识别标示,文件链接数,以及他的左孩子右孩子左兄弟右兄弟指
5.要有分解函数对输入的命令进行分解。
以识别那部分是哪部分是命令,哪部分是路径和文件名。
6.最后要有执行函数。
来执行输入的创建文件命令。
四.数据结构
1.文件结构体
structFileNode
{
)
charfilename[FILENAME_LEN];};
整个文件系统采用二叉树型存储结构,初始化文件树如下:
图4-1初始目录树
2.所使用函数及其功能
intMain();
};
")==0){命令的处理
;
inti;
while(cp->sibling_prev)
cp=cp->sibling_prev;
if(cp->parent)
{cp=cp->parent;}n");
return0;
}
if(strlen(Para2)>20){");
.
if(cp->child==NULL)n");
return0;
}
if(strlen(Para2)>20){n");
return0;
}
sign=FindFilename(Para2);n");
return0;
:
}
strcat(path,cp->filename);
}
if(strcmp(cp->filename,curpath)!
=0||cp==NULL){
strcpy(path,oldpath);
cp=temp;
printf("输入路径错误\n");
return0;
~
}
}
return1;
}
n");
return0;
}
return1;
}
n");
return0;
}
Para1[0]=Para2[0]='\0';
宗大华宗涛陈吉人编著.北京:
人民邮电出版社,2009.
[2]数据结构(C语言版).严蔚敏吴伟民编著.北京:
清华大学出版社,2006.
[3]C语言程序设计.马秀丽刘志妩李筠编著.北京:
清华大学出版社,2008.