模拟一个简单二级文件管理系统_第1页
模拟一个简单二级文件管理系统_第2页
模拟一个简单二级文件管理系统_第3页
模拟一个简单二级文件管理系统_第4页
模拟一个简单二级文件管理系统_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

简单的二级文件管理系统仿真设计目的:通过特定文件存储空间的管理、文件的物理结构、目录结构和文件操作的实施,加深对文件系统内部功能和实施过程的理解。设计内容:模拟简单的次要档案管理系统一、实验内容说明1实验目标本实验的目的是通过简单的多用户文件系统设计,加深对文件系统内部功能和内部实现的理解。2实验要求为DOS系统设计简单的辅助文件系统。需要:可以实施以下命令:Login用户登录Dir列文件目录建立Create档案删除删除文件打开Open文件关闭关闭文件读取文件写入Write文件列出目录时,列出文件名、物理地址、保护代码和文件长度。源文件可以进行读写保护。二、程序的主要内容1设计理念程序必须能够对每个用户拥有的文件执行操作,用户不能对其他用户的文件执行操作。文件操作包括浏览、创建、删除、打开、关闭、读取、写入和修改模式。其他任务包括“新建用户”、“帮助”、“用户登录”、“注销用户”和“关机”。程序文件夹下有一个名为“文件”的系统根目录,用于记录所有注册的帐户和密码。使用用户名作为文件名的自定义文件、其内容拥有的文件名和属性;名为“keiji”的文件夹。“keiji”文件夹包含记录所有使用的物理地址的“file.p”指针文件。一些名为物理地址的文件的内容是文件的内容。2数据结构文件结构系统文件数据结构:Fpaddrint、文件的物理地址、flengthint、文件长度、fmodeint、文件模式0。只读;只读。1.可写;可写。可读和写;3.保护,fnamechar,文件名;Filemode结构文件状态数据结构:Isopenint,文件的当前状态,0。关闭;关闭。1.打开、模式int、文件模式0。只读;只读。1.可写;可写。可读和写;3.初始化用户结构用户信息数据结构:Unamechar,用户名,upasswordchar,用户密码;Userfile结构用户文件数据结构:Unamechar、用户名、ufilefile和用户拥有的文件数组。代码:#include#include#include#include#include#define MaxUser 100 /最大MDF主目录文件定义#define MaxDisk 512*1024 /模拟最大磁盘空间#define commandAmount 12 /文件操作的命令数/存储空间管理相关结构和变量char diskmax disk;/512K磁盘存储空间模拟Typedef struct distTable /磁盘块结构Int maxlengthInt startInt useFlagDistTable * next磁盘节点;磁盘节点*磁盘头;Struct fileTable /文件块结构char fileName10;Int strat/磁盘存储空间中文件的起始地址Int length/文件内容长度Int maxlength/文件的最大长度char file kind3;/文件中的属性读写方法Struct TM * timeinfoBool openFlag/检查文件是否打开了进程/file table * next;/双层目录结构typedef structuser _ file _ directory/使用者档案目录档案UFD/char fileName10;FileTable * fileUser _ file _ directory * next UFD/UFD * head file;typedef struct master _ file _ directory/主文件目录MFDchar userName10;char password10;UFD * user MFDMFD user tablemax user;int used=0;/MFD目录中已存在的用户数/文件管理Void filecreate (char filename ,int length,char file kind);/创建文件void fileWrite(char fileName);/写入文件void file cat(char fileName);/读取文件Void fileren (char filename ,char rename);/重命名文件void fileFine(char fileName);/查询文件void fileDir(char UserName);/显示用户的所有文件void file close(char fileName);/关闭打开的文件void fileDel(char fileName);/删除文件Void chmod (char filename ,char kind);/修改文件读写方法Int request dist (int start postion,int max length);/磁盘分配查询void init disk();/初始化磁盘void freeDisk(int start postion);/释放磁盘空间void diskShow();/显示磁盘使用情况/用户管理void user create();int log in();int userID=-1;/用户登录的ID号。值为-1表示没有用户登录Int main()char ordercommand amount10;Strcpy(order0, create );Strcpy(订单1,RM );Strcpy(order2, cat );Strcpy(订单3,“写入”);Strcpy(order4, fine );Strcpy(订单5, chmod );Strcpy (order 6,ren );Strcpy (order 7,dir );Strcpy(order8, close );Strcpy(order9, return );Strcpy(order10, exit );Strcpy(订单11, df );Charcommand 50、command _ str1 10、command _ str2 10、command _ str3 5、commandInt i、k、j;Int lengthinit disk();/初始化磁盘for(I=0);Inext=NULLWhile(1)printf( * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * n );Printf( 1,Creat user n );Printf( 2,log in n );printf( * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * n );printf( please choo ce the function key : );Int choicescanf(“% d”,choice);if(choice=1)user create();else if(choice=2)userID=log in();Else printf(输入错误。请重新选择。 n );While(userID!=-1)fflush(stdin);printf( 3333433333343333433343334333333343333343333433333333333333343333333333433343333433333433333333433333343333343333433333334333334354-)Printf( create-创建格式:创建a1 1000 rw,名称为a1,长度为1000字节的可写文件。 n );Printf( rm-删除格式:删除名为RM a1、a1的文件 n );Printf( cat-查看文件内容格式:显示cat a1、a1的内容 n );Printf( write-写入格式:write a1 n );printf( fine-query format:fine a1,显示文件a1的属性。 n );Printf( chmod-修改格式:chmod a1 r,将文件a1的权限更改为只读 n );Printf( ren-重命名格式:ren a1 B1,a1为B1 n );Printf( dir-显示文件类型:dir AAA,显示AAA用户的所有文件 n );printf(“df-显示磁盘空间使用情况格式:df n”);Printf( close-关闭文件类型:close a1,文件a1 n );printf( return-结束使用者并返回登入介面。 n );Printf( exit-退出程序 n );printf(“333343333433333343333433334333343333343333334333333334333333333333333334333433333433333334333343333334333333433333343333333433333333433333

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论