文档详情

二级目录文件系统.docx

发布:2017-08-19约字共14页下载文档
文本预览下载声明
// 新二级文件管理系统.cpp : Defines the entry point for the console application.//#include stdafx.h#include stdio.h#include stdlib.h#include conio.h#include time.h#include string.h#define MaxUser 20 //定义最大MDF主目录文件#define MaxDisk 512*1024 //模拟最大磁盘空间#define commandAmount 8 //对文件操作的指令数//存储空间管理有关结构体和变量char disk[MaxDisk]; //模拟512K的磁盘存储空间typedefstructdistTable //磁盘块结构体{intmaxlength;//磁盘最大长度int start;//磁盘起始地址intuseFlag;//磁盘是否使用的标志distTable *next;}diskNode;diskNode *diskHead;//磁盘节点头指针structfileTable //文件块结构体{char fileName[10];//文件名intstrat; //文件在磁盘存储空间的起始地址int length; //文件内容长度intmaxlength; //文件的最大长度char fileKind[3]; //文件的属性——读写方式struct tm *timeinfo;//时间类型的指针,为了获取文件创建的时间而设置boolopenFlag; //判断是否有进程打开了该文件//fileTable *next;};//两级目录结构体typedefstructuser_file_directory //用户文件目录文件UFD{//char fileName[10];fileTable *file;user_file_directory *next;}UFD;//UFD *headFile;typedefstructmaster_file_directory //主文件目录MFD{charuserName[10];char password[10];UFD *user;}MFD;MFD userTable[MaxUser];int used=0; //定义MFD目录中用已有的用户数//文件管理void fileCreate(char fileName[],intlength,charfileKind[]); //创建文件void fileWrite(char fileName[]); //写文件void fileRead(char fileName[]); //读文件void fileDir(char UserName[]); //显示某一用户的所有文件void fileClose(char fileName[]); //关闭已打开的文件void fileDel(char fileName[]); //删除文件intrequestDist(int startPostion,intmaxLength); //磁盘分配查询void initDisk(); //初始化磁盘void freeDisk(intstartPostion); //磁盘空间释放void diskShow(); //显示磁盘使用情况//用户管理voiduserCreate();int login();intuserID=-1; //用户登录的ID号,值为-1时表示没有用户登录//主函数int main(){char order[commandAmount][10];//定义一个指令二维数组,指令长度不能超过10strcpy(order[0],create);strcpy(order[1],del);strcpy(order[2],read);strcpy(order[3],write);strcpy(order[4],dir);strcpy(order[5],close);strcpy(order[6],return);strcpy(order[7],exit)
显示全部
相似文档