📄 mi.c
字号:
#include <stdio.h>
#include <time.h>
#define NULL 0
#define NULLINDX -1
#define FNAMELEN 11
#define CAP_SUM 102400 /* 模拟磁盘容量(Byte) */
#define BLOCK_SIZE 16 /*盘块大小(Byte)*/
#define FREE '-' /*空闲占位符*/
#define BLOCK_SUM_NUM 6400/*总盘块数100*(1024/16)*/
#define FTYPE_A 'a'
#define FTYPE_B 'b'
#define EMPTY '1' /*位图空盘块*/
#define FULL '0' /*位图已用盘块*/
#define MAP_ROW_NUM 80
#define MAP_COLLUM_NUM 80
#define DIR_ITEM_NUM 100
#define INDEX_ITEM_NUM 100
typedef struct index{/*文件索引块*/
int num;/*编号*/
unsigned long int len;/*文件长度*/
char type;/*类型*/
char ModiTime[27];/*文件建立/最后修改的时间(yymmddhhmmss)*/
long iAddrDir0[8];/*直接索引*/
long iAddrDir1;/*一级索引*/
long iAddrDir2;/*二级索引*/
long iAddrDir3;/*三级索引*/
char used;
}I,*pI;
I findex[INDEX_ITEM_NUM];
typedef struct directory{ /*目录项*/
char fname[FNAMELEN];
int inum;
char used;
}Dir,*pDir;
Dir fdir[DIR_ITEM_NUM];
char *cmd[5]={"create","earse","read","write","ask"};
char map[MAP_ROW_NUM][MAP_COLLUM_NUM];
void initIndx(){
int i,j;
for(i=0;i<INDEX_ITEM_NUM;i++){
findex[i].num=i; /*i从1-100*/
findex[i].used='0';
findex[i].type=FTYPE_A;/*'a'*/
findex[i].len=0;
strcpy(findex[i].ModiTime,"");/*修改时间初始化*/
for(j=0;j<8;j++)findex[i].iAddrDir0[j]=NULLINDX;/*-1*/
findex[i].iAddrDir1=NULLINDX;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -