操作系统试验模拟文件管理系统.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【实验报告正文】一、实验目的和要求(必填)实验目的:通过在VC平台下编程,设计和调试一个简单的文件系统,通过模拟文件操作命令的执行,来模拟文件系统对文件及目录的管理。实验要求:两名学生成组结对完成实验,仿真出文件系统中对文件和目录的操作。■二、实验内容(必填)文件管理:实现一个简单的文件系统三、实验原理或实验方法(必填)装原理:通过结构体来描述文件和目录,利用链表知识实现目录树结构,通过对链表的操作实现整个文件系统中目录和文件的相关操作。订方法:学生两人结对进行实验,分别实现对文件和目录的操作。线对文件的操作包括:创建文件create>读文件read^写文件write>删除文件deleteo对目录的操作包括:创建目录mkdir>切换目录cd、展示目录内容dii?、删除目录rm。四、主要仪器设备或实验条件Windows操作系统,VC开发环境五、实验步骤(含实验数据记录处理)或操作设计过程记录include Hstdio.hH#include niostream>hftinclude nstring.hn#define FILENAME_LENGTH 10 〃文件名称长度#define COMMAND_LENGTH 10 〃命令行长度#define PATH_LENGTH 30〃参数长度struct filenodechar filename[FILENAME_LENGTH];int isdir;char content[255];filenode ^parent;Hlenode *child;filenode *prev;filenode *next;};filenode *in辻node(char filename[],int isdir);void createroot();int run();int findpath(char *topath);void help();int mkdir();int create();int read();int write();int del();int rm();int cd();int dir();filenode *root,*recent,*temp,*ttemp,*temp_child;charpath[PATH_LENGTH],command[COMMAND_LENGTH],temppath[PATH_LENGTH],recentpath[PATH_LENGTH];〃创建文件或目录的存储节点filenode* initnode(char fllename[]9int isdir)filenode *node=new filenode; strcpy(node-filename,filename); node-isdir=isdir; node-parent=NULL; node-child=NULL; node-prev=NULL; node-next=NULL;return node;}〃初始化文件系统根结点void createroot (){recent=root=initnode( * 7H ,1); root-parent=NULL; root-child=NULL;root-prev=root-next=NULL; strcpy(path;7M);}void help()cout?endl;cout?ffcreate:建立文件。n?endl;cout?ftread:读取文件。u?endl;cout?ffwrite:写入文件。n?endl;cout?f,delete:删除文件。n?endl;cout?ftrm:删除目录。M?endlcout?f,mkdir:建立目录。H?endl;cout?ftcd:切换目录。n?endl;cout?f,dir:显示目录。M?endl;cout?nlogout:退出登录。M?endl;int dir(){int i=Oj=O;temp=new filenode;temp=recent;if(temp==root){cout?MDIRif(temp!=root){cout?MDIRif(temp-child==NULL){cout?nTotal: n?H directorsreturn 1;}temp=temp ? child;vvhile(temp){if(temp ? isdir){cout?nDIRelse{cout?nFILEtemp=temp next;}cout?nTotal: H?n directors M ?i?n return 0;int read() char filename[FILENAME_LENGTH]; cin?filename;if(recent-child==NULL){cout? 文件不存在y y

您可能关注的文档

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档