ImageVerifierCode 换一换
格式:DOCX , 页数:33 ,大小:45.64KB ,
资源ID:18696857      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18696857.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(文件系统实验报告Word文档下载推荐.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

文件系统实验报告Word文档下载推荐.docx

1、rundelete返回命令行。5、 list-显示当前注册目录下的所有文件信息,包括文件名、文件长度、文件操作权限。runlist。6、 chmod-改变某个文件的执行权限,但前提是该文件是该用户目录下的文件。runchmod7、 open-在window界面下打开某个文件。命令格:runopen执行该命令后,文件file1将用在windows界面下的文件形式打开。用户可以在这个方式中对文件进行修改,并将修改后的容保存。8、 read-读文件信息。将文件信息读入并显示在终端。runread9、 write-向某个文件写入新的信息。用户可以选择用覆盖原来容的方式和在文件的末尾插入新信息的方式写入

2、信息。2)_系统采用二级文件目录。设置主目录(MFD)和用户文件目录(UFD),分别以文件的方式保存在磁盘中。在主目录中又注册用户的用户名和另一标志该用户目录下是否有文件的指针标记。用户文件目录用用户名作为文件名保存在磁盘,以便检索时方便对应。在用户文件目录中保存着该目录下所有的文件的文件名称、保护码、文件长度。3) 该系统大量使用高级语言中的文件操作函数,所以能实际看到文件的创建写入、读出、删除等效果。4) 实验流程图1创建文件删除文件打开文件读文件写文件改变权限显示文件保存当前主目录删除用户返回主界面输入命令5)源程序: #include#includestdlib.hstring.h#i

3、nclude conio.hdos.h#define NULL 0#define keynum 10#define getspace(type) (type*)malloc(sizeof(type)char cmd64; /存放用户输入命令char buffer36;/char user32;/存放当前登陆的用户名typedef char ALFA12;ALFA KWORDkeynum;struct UFD/用户文件管理模块 char filename32; /文件名 int safecode; /文件保护码 long length; /文件长度*curfile = NULL;struct M

4、FD/用户登陆信息管理模块 char username32; /用户名 bool filepoint; /用户目录下的文件指针,false表示目录为空*curuser = NULL,*elseuser=NULL;typedef UFD UFD;typedef MFD MFD;void main();void KeyWord()/初始化命令关键字 strcpy(KWORD 1,bye); strcpy(KWORD 2,chmod strcpy(KWORD 3,close strcpy(KWORD 4,create strcpy(KWORD 5,delete strcpy(KWORD 6,list

5、 strcpy(KWORD 7,open strcpy(KWORD 8,read strcpy(KWORD 9,writeint LoginDisplay() /登陆选项操作函数 int SELETE_1 = 0; do coutSELETE_1; while(SELETE_12); system(cls return SELETE_1;bool Login(int SELETE)/用户登陆,注册函数 FILE *fp,*fp1,*fp2; char name12; switch(SELETE) case 1:/用户登陆 if(fp = fopen(LOGIN.exe,rb) = NULL)/

6、打开用户注册目录管理文件 coutn错误:不能打开登陆文件。 getch();system( return false; curuser = getspace(MFD); coutusername,name)=0) break; if(feof(fp) /如果没有找到跟当前登陆用户名相同的管理信息,提示出错该用户不存在。 fclose(fp); return false; else fclose(fp); return true; break; case 2: /新用户注册 if(fp=fopen(ab)=NULL)/如果登陆信息管理文件不存在 fp=fopen(wb+ /创建该信息管理文件

7、char name12; while(1)n *新用户注册*用户名: cin /输入用户注册名 fp1 = fopen( while(!feof(fp1)/查看该用户名是否被别的用户占用 fread(curuser,sizeof(MFD),1,fp1); if(strcmp(curuser-username,name) = 0)/该名称已经被使用 coutusername,name); curuser-filepoint = NULL; fwrite(curuser,sizeof(MFD),1,fp); strcpy(user,curuser-username);/生成用户文件管理模块 str

8、cat(user,.exe /用于管理用户目录下的各个文件 fp2=fopen(user, fclose(fp2); coutusernamefilepoint = false)/当前用户目录下没有任何文件存在n用户 文件夹是空的 else /存在文件,将所有文件信息打印在终端 FILE *fp; char filename12; strcpy(filename,curuser- strcat(filename, if(fp=fopen(filename,)=NULL)/打开用户文件信息管理模块n无法打开用户: 的文件! return; /读入并将用户全部文件信息打印在终端用户:目录下的文件:

9、 UFD *ufd; int i=0; ufd = getspace(UFD); /申请存放用户文件模块的空间 while(1) fread(ufd,sizeof(UFD),1,fp); if(feof(fp)/全部输出完毕,结束 else/打印信息ufd-filenametlengthsafecodeusername,curuser-username)=0) if(BOOL)/更新当前用户信息的操作 fwrite(curuser,sizeof(MFD),1,outfile); else continue;/如果用户想把自己的注册目录从系统中彻底删除 /则执行该操作 else fwrite(m

10、fd,sizeof(MFD),1,outfile);/写入新的模块fclose(outfile); remove(/将旧的该用户的文件管理模块删除 rename(out,/将新的用户的文件管理模块重命名为用户目录下的管理模块 main();bool ClearUserFile()/用户要将自己的注册目录从系统彻底删除/首先将该用户目录下的全部文件删除 FILE *fp; char file50; strcpy(file,curuser- strcat(file, if(fp=fopen(file,)=NULL) /打开用户文件信息管理模块 / fclose(fp);n操作失败。return t

11、rue; /将该用户目录下的文件逐个从磁盘删除 UFD *ufd = getspace(UFD); fread(ufd,sizeof(UFD),1,fp); else remove(ufd-filename);/删除文件void ClearUserMes()/删除用户全部信息 char name50; strcpy(name,curuser- strcat(name, remove(name); /从磁盘中删除用户文件信息管理模块 ByeFile(false);/更新系统的用户登陆信息管理模块void DeleteUser()/删除用户注册目录的操作 char ch;coutch; switc

12、h(ch)/提示用户确认删除 case Y:y if(ClearUserFile()/如果用户的全部文件已经删除了 /则可以将该用户的文件信息管理模块也从磁盘中删除 /以免在没完全删除文件却删了该文件信息管理模块 /使得这些文件无法再进行管理造成磁盘空间的浪费 ClearUserMes();/删除文件信息管理模块n你取消了此操作!void CreatFile()/在当前用户目录下创建文件 curuser-filepoint=true; if(fp=fopen(buffer,r)=NULL)/如果没有跟用户输入文件名相同的文件 if(fp=fopen(buffer,wn创建文件失败! / fcl

13、ose(fp); /用户要创建的文件已经存在n该文件已经存在,创建另一个文件? char ch; switch(ch) case n输入新文件名:buffer; strcat(buffer,.txt / fclose(fp); break; default: strcpy(user,curuser- strcat(user, curfile = getspace(UFD); strcpy(curfile-filename,buffer);/文件名 curfile-length=0; /该文件长度为零safecode=30; /设置该文件的默认权限 /11 00,文件主有读和写权,其他用户没有读

14、写权 if(fp=fopen(user,你可能不是合法用户。 getch(); fwrite(curfile,sizeof(UFD),1,fp);/将该文件信息写入用户文件信息管理模块中n文件 curfile- 创建成功! fclose(fp);void DeleteFile()/删除当前目录下一个文件的操作n确定要删除文件:buffer strcat(in, if(infile=fopen(in,)=NULL)/打开该用户的文件信息管理模块 /fclose(infile); return; UFD *ufd = getspace(UFD); fread(ufd,sizeof(UFD),1,i

15、nfile);/从旧模块读出信息 if(strcmp(ufd-filename,buffer)=0)/要进行更新的信息 continue; fwrite(ufd,sizeof(UFD),1,outfile);/写入新模块 remove(in);/在磁盘移除就模块 rename(out,in); /新模块命名为当前用户文件信息管理模块 remove(buffer);/从磁盘中删除该文件void ListAllFile()/显示当前用户目录下的文件信息 DisplayUFD();void OpenFile()/在window模式下打开该文件 system(buffer);/buffer为文件名,如:file1.txtbool QueryModElse(bool BOOL,bool &flag)/查询其它用户目录下文件的文件/当该文件的权限允许当前用户对其执行有关操作时,返回ture char user50; UFD *ufd = getspace(UFD);/elseuser表示除当前用户外的所有用户注册目录 strcpy(user,elseuser-

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1