操作系统 模拟linux文件管理系统
7. dir.h:
定义两个底层函数
1.bool havesame(char *dirname,INODE inode,int &i,int &index2)
判断对象inode指向的目录文件盘块中有无该名(dirname)的目录项存在着,有返回1无返回0。同时,有该目录项的话,则按引用调用的i为待删子目录目录项下标 index2为目录项中的待删子目录的结点号
2.bool find(char *string)
根据路径找到指定文件或目录<路径至少有一个 / 以root开头,不以 / 结尾>。需要注意的是,使用此函数时当前路径跟着改掉了,所以使用前必须保存当前路径。万一找不到目标的话,可以还原为当前路径。
定义了有关目录操作的四个功能函数,
1.void mkdir(char *dirname)
当前目录下创建目录(规定目录文件只占一个盘块。为了降低难度,已设定目录文件只占一个盘块。
2.void rmdir(char *dirname,int index)
当前目录下删除目录。将要删除的目录可能非空。有两种策略:一、规定只能删除空目录。
二、递归地将非空目录的所有子目录删除,让后再删除自己。第一种实现较简单,我使用了第二种策略。所以参数为 (子目录名,当前结点)。如果使用第一种策略的话,参数为只要子目录名就可以了。
3.void ls(void)
显示当前结点的所有子目录
4.void cd(char *string)
改变当前目录。有四中处理过程: string为“.”切换到当前目录;为“..”
切换到父目录 ;为“/”切换到根目录;如果为一路径的话,就调用bool find(char *string) 切换到指定目录。
8. chsome.h
:
定义一个底层函数:
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库操作系统大型试验(6)在线全文阅读。
相关推荐: