操作系统 模拟文件管理 大作业.docVIP

  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文档。上传文档
查看更多
课程设计二:模拟文件管理 一.设计目的 建立一个简单的模拟文件管理系统。 理解用户界面和操作命令在操作系统中的作用。 二.设计要求 需要实现一个命令行操作界面,包含如下命令: 1.创建文件 功能:创立一个指定名字的新文件,即在目录中增加一项,不考虑文件内容,但必须能输入文件长度。 2.删除文件 功能:删除指定的文件 3.创建目录 功能:在当前路径下创建指定的目录。 4.删除目录 功能:删除当前目录下的指定目录,如果该目录为空,则可删除,否则应提示是否作删除,删除操作将该目录下的全部文件和子目录都删除。 5.改变目录 功能:工作目录转移到指定的目录下,只要求完成改变到当前目录的某一个子目录下的功能,不要求实现相对目录以及绝对目录。 6.显示目录 功能:显示全部目录以及文件,输出时要求先输出接近根的目录,再输出子目录。 对于重名(创建时),文件不存在(删除时),目录不存在(改变目录时)等错误情况,程序应该作出相应处理并给出错误信息。 界面的提示符为#,提示的命令以及调试的方法应和前面的要求一致,可以自己设计更多的命令或者附加功能。 三.环境 本实验是在windows xp+vc 6.0环境下实现的,利用windows SDK 提供的系统接口(API)完成程序功能。在windows xp下安装好VC后进行,VC是一个集成开发环境,其中包含了windows SDK所有工具,所以就不用单独在安装SDK了,程序中所用的API是操作系统提供的用来进行应用程序设计的系统功能接口。要使用这些API,需要包含对这些函数进行说明的SDK头文件,最常见的就是windows.h。一些特殊的API调用还需要包含其他的头文件。 四.步骤 打开VC,选择菜单项File-New,选择Project选项卡并建立一个名为filesys的win32 console application工程。 在工程中创建原文件filesys.cpp:选择菜单项Project-Add to Project-File,此时将打开一个新窗口,在其中输入想要创建的文件名字,这里是filesys.cpp,在其中编辑好原文件并保存。 通过调用菜单项Build-Rebuild all进行编译连接,可以在指定的工程目录下得到debug-filesys.exe程序,可以在控制台进入该debug目录运行程序了。 源代码程序: #include stdio.h #include iostream #include string.h #include ctype.h #include stdlib.h #define FILENAME_LEN 21 #define INPUT_LEN 81 #define COMMAND_LEN 11 using namespace std; //结点结构 struct FileNode { char filename[FILENAME_LEN]; //文件名/目录名 int isdir; //目录文件识别标志 int i_nlink; //文件的链接数 int adr; //文件的地址 struct FileNode *parent, *child;//指向父亲的指针和指向左孩子的指针 struct FileNode *sibling_prev, *sibling_next;//指向前一个兄弟的指针和指向 //后一个兄弟的指针. }; void Init(); //初始化文件树 int ParseCommand(); //接受输入的命令并把其分解成操作名和路径文件名 void ExecuteCommand(); //执行命令 int cdComd(); //处理cd命令 int creatComd(); //处理creat命令 int delComd(); //处理del命令 int dirComd(); //处理dir命令 int mdComd(); //处理md命令 int rdComd(); int FindPath(char *ph); //寻找参数ph所指向的路径 int FindFilename(char

文档评论(0)

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

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

1亿VIP精品文档

相关文档