文件系统课程设计报告(3)

2025-04-30

(6)删除文件delete_file(文件名) 开始删除路径名为name的文件查找该文件的目录项该文件存在?Y查找已打开文件表N文件不存在,无法删除文件结束N找到该文件?Y文件正在使用,不能删除t=文件起始盘块号结束删除该文件目录Y删除完?N结束t=下一个盘块回收盘块t

10

(7)显示文件内容(typefile) 结束显示路径名为name的文件查找目录name找到该文件?YY文件打开?N文件打开,显示文件失败dnum=该目录起始盘块号N指定的文件不存在,显示文件内容失败结束结束 第dnum块是该文件第一块?Y在已打开文件表中删除该文件登记项N结束dnum=FAT第dnum项

11

(8)目录操作命令:建立目录(md) 开始路径名为name将name分离成建立文件的目录路径名pathname和目录名dname找到该目录?Y目录项起始盘块号d第d块内容读入buffer1指定目录不存在,建立目录失败Nb=-1t=0结束查buffer2中第t个目录项第t项是目录项且名字是dnameN 第t项是空栏且b==-1?t=t+1YY指定的目录已存在,建立目录失败结束b=tNN第t项是该盘块最后一项?YN无空目录项目录中有空项b(b!=-1)?Y申请一个盘块dd结束申请磁盘块成功?Y初始化该块所有目录项为空目录项无空目录项建立失败N在第d块第b项建立该目录的目录:目录名fname、属性、起始盘块号dd、长度0;FAT表第dd项结束标志结束 12 (9)显示目录内容(rd) 开始显示路径名为name的目录查找目录name找到该目录?Y该目录项起始盘块号dnum;第dnum块内容读入buffer2N指定目录不存在,显示目录内容失败结束t=0查buffer2中第t个目录项第t个目录项为空项?t=t+1N显示目录内容YN第t项是该盘块最后一项?Y结束

13

五、详细代码

int sopen(char *name) //在已打开的文件表中查找文件name {

int i; i = 0;

while(i

void dopen(char *name) //在已打开文件表中删除文件name { int i;

i = sopen(name); if(i==-1) {

{ }

if(i>=openfile.length) { } return i;

return -1; i++;

printf(\文件未打开\\n\

14


文件系统课程设计报告(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:综合应急预案

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219