操作系统课程设计 下载本文

9. void DeleteFile() //删除当前目录下一个文件的操作

Begin Search UFD(图2.1) N Ture? Y Scanf Ch Ch ?Y?||?y? Name.exe Y Other End N Update(False) UFD(图4.1) Remove Buffer 图9 DeleteFile

10. bool QueryModElse(bool BOOL,bool &flag)//查询其它用户目录下文件的

文件

Begin Temp=Malloc(UFD) Temp? Y EOF? N N Cout error Y Fread(Temp,UFD,1,user.exe) N Temp.File=Buffer Y N 31||33 Y Y BOOL N 32||33 Y N Return True End Return False 图10 QueryModElse

11. bool QueryMod(bool BOOL)//查询权限

Begin temp=Malloc(UFD) N Username.exe Y Else=Malloc(MFD) Y EOF N N buffer Y Ture Y Return True Y EOF N Fread(temp,UFD,1,username.exe) N Fread(Else,MFD,1,Login.exe) Username=Else N QueryModElse(图10) Return False End 图11 QueryMod

12. bool WriteRight(int len,bool BOOL) //查看是否已经正确地写入到该文

件信息中,是则返回真值

Begin N Username.exe Y temp=Malloc(UFD) EOF N Y Fread(temp,UFD,1,username.exe) N Buffer Y outfilelocate.exe Y EOF N Fread(temp,UFD,1,username.exe) Return False N Buffer Y End Length=len N BOOL Y Length+len Return Ture Fwrite(temp,UFD,1, outfilelocate.exe) Remove username.exe outfilelocate.exe ->username.exe 图12 WriteRight

13. void WriteLengthToFile(int Len,bool BOOL)//将文件长度写入文件管理

模块中

Begin N LOGIN.exe Y Else=Malloc(MFD) Y EOF N Cout error Fread(Else,MFD,1,LOGIN.exe) WriteRight(图12) N 图13 WriteLengthToFile True? Y End

14. void WriteFile()//向文件写入信息的操作

Begin Y QueryMod(true)(图11) Buffer N Scanf Chmod Cout error 1 Chmod 2 2 Char!=# N Char!=# Y Get char Fput(char,buffer) Y Get char Fput(char,buffer) 图14 WriteFile Other N WriteLength ToFile (图11) True? Y N End