⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 disk.h

📁 一个模拟操作系统的文件操作系统
💻 H
字号:
#if !defined(AFX_DISK_H__1FAB24AE_C718_49FF_A915_94211192B8BC__INCLUDED_)
#define AFX_DISK_H__1FAB24AE_C718_49FF_A915_94211192B8BC__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
extern int disk_block[10000];
extern int disk_empty;
typedef struct UFD//存储文件信息
{
    char name[10];
    int attribute;//文件属性
    int length;
    int a[10];
    int *p1;//一级索引
    int (*p2)[100];//二级索引
    struct UFD *next;// 指向文件链表中此文件结点的下一个结点
}UFD;
typedef struct DIR//存储目录信息
{
    DIR *above;// 指向目录链表中此目录结点的上一个结点
    char name[10];
    int length;
    DIR *next;//指向目录链表中引目录结点的下一个结点
    UFD *File_head;//此目录下文件链表的头指针
    DIR *Dir_head;//此目录下目录链表的头指针
}DIR;

class Cuse//定义管理用户目录的类
{
    DIR *now;//当前目录
    UFD *Fhead;//文件链表的头结点
    DIR *Dhead;//目录链表的头结点
    char code[10];//用户密码
    char name[10];//用户名称
    int length;//用户所使用空间大小
    int status;//此对象是否已经分配给用户
public:
    void set_status(int);
    int dele_user();
    int dis_file();//显示文件所占外存块号
    int dis_dir(DIR *d);//实现显示当前路径的函数
    int get_length();
    char const*get_name();
    char const*get_code();
    int get_status();
    int set_user(char *,char *);//设置用户名与密码
    DIR *get_now();
    int dele_file(UFD *f);//删除文件的具体实现部分
    int dele_dir(DIR*);//删除目录的具体实现部分
    Cuse();
    ~Cuse();
    int goback();//返回上一级目录
    int dis_now();//显示当前目录的信息
    int new_file();
    int new_dir();
    int open_dir();
    int open_file();
    int first_dele_file();//实现删除文件的前部分工作
    int first_dele_dir();//实现删除目录的前部分工作
    int set_code();
};

class Cdisk  
{
public:
    Cuse user[5];
    char code[10];
    int dis_disk();
    int first_dele_user();
    int dele_user(int);
    int new_user();//查看当前用户信息与外存空间使用情况
    int set_code();
    int login();//用户登陆
    Cdisk();
    virtual ~Cdisk();
};
#endif // !defined(AFX_DISK_H__1FAB24AE_C718_49FF_A915_94211192B8BC__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -