?? define.h
字號:
/****************************************************************************************************************/
/*
#define BLOCK_SIZE 1024 //磁盤塊大小 1k
#define DIR_NUM 640 //最多目錄節點數 1024/(14+2)*10=640
#define FILE_NUM 640 //最多文件節點數 1024/(1+13*2+4+1)*20=640
#define BLOCK_NUM 20480 //磁盤塊數目 開辟20M,20480K/1K=20480
#define BUF_NUM 32 //主存緩沖區數目
*/
#define BLOCK_SIZE 512 //磁盤塊大小
#define DIR_NUM 64 //最多目錄節點數
#define FILE_NUM 512 //最多文件節點數
#define BLOCK_NUM 1024 //磁盤塊數目
#define BUF_NUM 32 //主存緩沖區數目
const char file_system_name[]="xx.txt"; //磁盤文件名
struct dir_node //目錄節點
{
char space;
SYSTEMTIME ctime; //創建時間
char dir_name[32]; //目錄名
int child_dir[8]; //子目錄索引
int dir_count; //當前子目錄數
int child_file[16]; //子文件索引
int file_count; //當前子文件數
int parent; //父目錄索引
};
struct file_node //文件節點
{
char space;
SYSTEMTIME ctime; //創建時間
char file_name[32]; //文件名
int block[4]; //該文件占有的磁盤塊索引
int block_count; //該文件當前占有的磁盤塊數
int file_length; //文件長度
int parent; //父目錄索引
};
struct buffer_node //主存緩沖區節點
{
int flag; //占用標志
int file_id; //占用該緩沖區節點的文件索引
char buf[BLOCK_SIZE*4]; //緩沖區,存放讀寫文件的數據
int length; //緩沖區大小
int offset; //打開系統后第一次寫該文件的開始位置
};
struct dir_node dir[DIR_NUM+1]; //目錄節點表
struct file_node file[FILE_NUM]; //文件節點表
struct buffer_node buffer[BUF_NUM]; //緩沖區數組
int dir_flag[DIR_NUM]; //各目錄節點占用標志,0表示空閑,1表示被占用
int used_dir; //已用的目錄節點數
int file_flag[FILE_NUM]; //各文件節點的占用標志
int used_file; //已用的文件節點數
int block_flag[BLOCK_NUM]; //磁盤塊的占用標志
int used_block; //已用的磁盤塊數
int al_dir[DIR_NUM]; //目錄節點修改登記表
int al_file[FILE_NUM]; //文件節點修改登記表
int al_dflag[DIR_NUM]; //目錄節點占用標志登記表
int al_fflag[FILE_NUM]; //文件節點占用標志登記表
int al_bflag[BLOCK_NUM]; //磁盤塊占用標志登記表
int open_files[FILE_NUM]; //文件讀寫登記表
int curr; //當前目錄索引
struct dir_node *curr_dir; //當前目錄節點指針
char curr_path[512]; //當前路徑
FILE *fp; //文件指針
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -