资源简介
1.设计出文件系统中常用的数据结构;
2.理解文件系统的工作流程,给出程序流程图;
3.设计出文件系统中关键的算法;
4.模拟实现二级目录文件系统,并给出一组运行结果。
代码片段和文件信息
#define S 10
#define L 20
#define N 30
#include“stdio.h“
#include“string.h“
#include“stdlib.h“
#include“iostream.h“
struct UFD{
char fname[20];
char shuxing[20];
int length;
int addr;
};
struct UOF{
char fname[20];
char shuxing[10];
int length;
char state[10];
int *w*r;
};
struct MFD{
char uname[25];
struct UFD ufd[L];
struct UOF uof[S];
};
struct MFD mfd[N];
create(int x);
open(int x);
close(int x);
Read(int x);
write(int x);
ddelete(int x);
/*-----------zhu han shu----------------------------*/
main()
{
char namestr[20]order[20];
int ij;
/*chu shi hua MFD*/
/************************************************************/
strcpy(mfd[0].uname“lanxueqin“);
strcpy(mfd[0].ufd[0].fname“wenjian1“);
strcpy(mfd[0].ufd[0].shuxing“read“);
mfd[0].ufd[0].length=25;
mfd[0].ufd[0].addr=6120;
/* printf(“uname:%sfname:%sshuxing:%slength:%daddress:%d\n“mfd[0].unamemfd[0].ufd[0].fnamemfd[0].ufd[0].shuxingmfd[0].ufd[0].lengthmfd[0].ufd[0].addr);*/
strcpy(mfd[0].ufd[1].fname“wenjian2“);
strcpy(mfd[0].ufd[1].shuxing“rw“);
mfd[0].ufd[1].length=20;
mfd[0].ufd[1].addr=0;
strcpy(mfd[0].ufd[2].fname“wenjian3“);
strcpy(mfd[0].ufd[2].shuxing“rw“);
mfd[0].ufd[2].length=20;
mfd[0].ufd[2].addr=1000;
strcpy(mfd[1].uname“hey“);
strcpy(mfd[1].ufd[0].fname“wenjian5“);
strcpy(mfd[1].ufd[0].shuxing“read“);
mfd[1].ufd[0].length=30;
mfd[1].ufd[0].addr=4020;
strcpy(mfd[1].ufd[1].fname“wenjian8“);
strcpy(mfd[1].ufd[1].shuxing“rw“);
mfd[1].ufd[1].length=21;
mfd[1].ufd[1].addr=1;
/*****************************************************/
/*chu shi hua UOF*/
/********************************************************/
strcpy(mfd[0].uof[0].fname“wenjian1“);
strcpy(mfd[0].uof[0].shuxingmfd[0].ufd[0].shuxing);
mfd[0].uof[0].length=mfd[0].ufd[0].length;
strcpy(mfd[0].uof[0].state“open“);
mfd[0].uof[0].w=mfd[0].ufd[0].addr;
mfd[0].uof[0].r=mfd[0].ufd[0].addr;
strcpy(mfd[0].uof[1].fname“wenjian3“);
strcpy(mfd[0].uof[1].shuxingmfd[0].ufd[2].shuxing);
mfd[0].uof[1].length=mfd[0].ufd[2].length;
strcpy(mfd[0].uof[1].state“open“);
mfd[0].uof[1].w=mfd[0].ufd[2].addr;
mfd[0].uof[1].r=mfd[0].ufd[2].addr;
/* printf(“w=%d“mfd[0].uof[0].w); */
/*******************************************************/
shuru:
printf(“Initial has finished.Please input your name to login:\n“);
scanf(“%s“namestr);
for(i=0;i {if(!strcmp(namestrmfd[i].uname)) /*xiang deng*/
break;
}/*for*/
if(i>=N)
{
printf(“The name you have inputed is wrong!\n“);
goto shuru;
}
instructions:
printf(“Welcome!Input your instruction:\n“);
printf(“create---------create a file\n“);
printf(“open ---------open a file\n“);
printf(“close ---------close a file\n“);
printf(“read ---------read a file\n“);
printf(“write ---------write a fi
- 上一篇:数字水印源代码,C语言程序
- 下一篇:MFC 与UG开发教程与视频
评论
共有 条评论