- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 中国行业标准 YY 9706.274-2022医用电气设备 第2-74部分:呼吸湿化设备的基本安全和基本性能专用要求.pdf
- 中秋博饼规则.doc VIP
- (人教2024版)英语七年级上册全册语法总复习(知识点+练习) 学生版+解析版_可搜索.pdf VIP
- 机械制图课件断面图.ppt VIP
- 《中外历史纲要(下)》填空.pdf VIP
- 高中政治2024届高考复习《逻辑与思维》真题练习(选择题+主观题)(附参 .pdf VIP
- 2025年咸阳市社区工作者计划招聘412人考试备考题库及答案解析.docx VIP
- 2025-2030中国生物可吸收输尿管支架行业市场发展趋势与前景展望战略研究报告.docx VIP
- 保健品专卖店管理制度.docx VIP
- 2025年高级审计师《高级审计实务》考试题库 .pdf VIP
文档评论(0)