📄 file.h
字号:
//file.h
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define DIR_LENGTH 30 /*路径最长可达512字节*/
#define MAX_WRITE 125*64 /*写入文字可达128k字节*/
#define MEM_D_SIZE 64*128 /*8K磁盘空间*/
#define DISKSIZE 64 /*磁盘块的大小64B*/
#define MSD 8 /*最大子目录数 8*/
#define DISK_NUM MEM_D_SIZE/DISKSIZE /*磁盘块数目 128=8192B/64B*/
#define FATSIZE DISK_NUM*sizeof(struct fatitem) /*FAT表大小 128B */
#define MOFN 10 /*最大文件打开数 10 (即除根以外最大深度为5)*/
#define ROOT_DISK_NO FATSIZE/DISKSIZE /*根目录起始盘快号 2*/
#define ROOT_DISK_SIZE sizeof(struct direct)/*根目录大小64B*/
/*---------------FAT表项结构-----------------------*/
struct fatitem /* size 1*/
{
char item; /*存放文件下一个磁盘的指针,磁盘块是否空闲标志位 -1空闲, 0 文件结束*/
};
/*-------------------目录项结构------------------------*/
struct FCB
{
char name[3]; /*文件/目录名 3位*/
char property; /*属性 1位目录 0位普通文件*/
char extend_name; /*文件扩展名*/
char firstdisk; /*文件/目录 起始盘块号*/
short size; /*文件/目录字节数*/
};
struct direct /* size 64*/
{
/*-----文件控制快信息-----*/
struct FCB directitem[MSD];
};
/*------------------文件打开表项结构--------------------------*/
struct openttableitem /* size 8*/
{
char name[7]; /*文件名*/
char firstdisk; /*起始盘块号*/
short size; /*文件的大小*/
};
struct opentable /* size 31*/
{
struct openttableitem openitem[MOFN];
int cur_size; /*当前打文件的数目*/
};
///////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
/*-------------------------------------------------------------------*/
struct fatitem *fat; /*FAT表*/
struct direct *root; /*根目录*/
struct direct *cur_dir; /*当前目录*/
char curdir_block;
struct opentable u_opentable; /*文件打开表*/
int fd=-1; /*文件打开表的序号*/
char *fdisk; /*虚拟磁盘起始地址*/
FILE *fp;
char a[10];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -