1、实验概述
- 实现多用户文件系统,每次用户可保存多个文件,一次运行用户可打开5个文件。
- 实现文件的相关操作,包括创建、删除、打开、关闭以及读写功能。
- 采用二级目录,设置主目录MFD、用户文件目录UFD。
- 设置文件权限保护码:1-可执行,2-只读,3-只写。
- 实现用户登录、退出、退出系统等操作。
- 为简化程序,不对用户信息进行保存,即每次运行,文件系统都相当于初始化一次。
2、结构体设计
(1)用户users
typedef struct users
{
char name[8]; //用户名
char pwd[10]; //密码
}users;
(2)主文件目录MFD
struct MFD{ // 主文件目录
string u_name; // 用户名
int addr; // 指向子目录指针
}mfd[10];
(3)用户文件目录UFD
struct UFD{ // 用户文件目录
File file[1000];
string u_name; // 用户名
int id; // 文件的总数
int cnt; // 用户文件存在的个数
int open_cnt; // 用户打开文件个数,最大为k
void init() ; //初始化数据项
void create() ; //创建用户文件
void del(int pos); //删除用户文件
void open(int pos); //打开文件
void close(int pos); //关闭文件