- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
两个文件头文件filesys.h,主文件filesys.cpp.doc
两个文件:头文件filesys.h,主文件filesys.cpp//filesys.h//#include stdio.h#include string.h#include stdlib.h#define MaxSize 100/*******************目录和文件的结构定义*******/struct DirectoryNode{?char name[50];??????????????????? /*目录或文件的名字*/?int type;???????????????????????? /*0代表目录,1代表普通文件*/?struct DirectoryNode *next;?????? /*指向下一个兄弟结点的指针*/?struct DirectoryNode *preDirFile; /*指向父结点的指针*/?struct DirectoryNode *subFile;??? /*指向第一个子结点的指针*/?int size;???????????????????????? /*如果是文件则表示文件的大小*/};/***********在lsall函数中要用到的相应的队列数据结构****************/typedef struct{?struct DirectoryNode *DirFile;?char name[50];}DataType;?????? /*包含一个指向目录的指针和名字*/typedef struct{?????????? /*队列结构的实现*/?DataType data[MaxSize];?int front,rear;?????? /*分别表示队列的头结点和尾结点*/}Tp;void InitCycQueue(Tp *sq){ /*队列初始化*/?sq-front = 0;?sq-rear = 0;} int EnCycQueue(Tp *sq,DataType data){? /*在队列中增加元素*/?if ((sq-rear+1) % MaxSize == sq-front){??printf(%sQueue is full!);??return 0;?}?else{??sq-rear = (sq-rear+1) % MaxSize;??sq-data[sq-rear] = data;??return 1;?}}DataType OutCycQueue(Tp *sq){ /*从队列中删除一个元素*/?if(sq-front == sq-rear)??printf(%sQueue is empty!);?else{??sq-front = (sq-front+1) % MaxSize;??return(sq-data[sq-front]);?}}int Empty(Tp *sq){ /*判断队列是否为空,返回0表示队列为空*/?if(sq-front == sq-rear)??return 0;?else return 1;}/**************************队列定义结束*******************/struct DirectoryNode *workDirFile; /*当前工作目录*/struct DirectoryNode root;???????? /*根目录*/char path[50] = pkutest; /*path info*/
//filesys.cpp//#include filesys.h#include iostream.h/*************************显示目录内容命令*******************/void dir()?????????????? /*显示当前目录下的文件和子目录*/{?int n;?char str[50];?struct DirectoryNode *tempnode;?tempnode = workDirFile-subFile;?while(tempnode){??strcpy(str,tempnode-name);??if(tempnode-type==0)? /*显示目录*/???printf(?? %-15s%s\n,strupr(str),dir);??tempnode = tempnode-next;?}?tempnode = workDirFile-subFile;?while(tempnode){????if(tempnode-type == 1)? /*显示文件*/??{???strcpy(s
文档评论(0)