实验六 文件系统设计Word格式文档下载.docx

上传人:b****1 文档编号:15343897 上传时间:2022-10-29 格式:DOCX 页数:29 大小:22KB
下载 相关 举报
实验六 文件系统设计Word格式文档下载.docx_第1页
第1页 / 共29页
实验六 文件系统设计Word格式文档下载.docx_第2页
第2页 / 共29页
实验六 文件系统设计Word格式文档下载.docx_第3页
第3页 / 共29页
实验六 文件系统设计Word格式文档下载.docx_第4页
第4页 / 共29页
实验六 文件系统设计Word格式文档下载.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

实验六 文件系统设计Word格式文档下载.docx

《实验六 文件系统设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《实验六 文件系统设计Word格式文档下载.docx(29页珍藏版)》请在冰豆网上搜索。

实验六 文件系统设计Word格式文档下载.docx

Fpaddr文件物理地址

Flength文件长度

Fmode文件属性(filemode:

0-ReadOnly;

1-WriteOnly;

2-ReadandWrite(default))

Fname文件名称

②用户创建的文件,可以编号存储于磁盘上。

如:

file0,file1,file2…并以编号作为物理地址,在目录中进行登记。

③本程序需要在c:

下建一个名为osfile的目录及一个名为file的子目录,在利用程序创建了文件系统后,可以在这个文件夹下查看到相关的内容。

5.实验程序

#include"

stdio.h"

string.h"

conio.h"

stdlib.h"

#defineMAXNAME25/*thelargestlengthofmfdname,ufdname,filename*/

#defineMAXCHILD50/*thelargestchild*/

#defineMAX(MAXCHILD*MAXCHILD)/*thesizeoffpaddrno*/

typedefstruct/*thestructureofOSFILE*/

{

intfpaddr;

/*filephysicaladdress*/

intflength;

/*filelength*/

intfmode;

/*filemode:

2-ReadandWrite(default);

*/

charfname[MAXNAME];

/*filename*/

}OSFILE;

typedefstruct/*thestructureofOSUFD*/

charufdname[MAXNAME];

/*ufdname*/

OSFILEufdfile[MAXCHILD];

/*ufdownfile*/

}OSUFD;

typedefstruct/*thestructureofOSUFD'

LOGIN*/

charufdpword[8];

/*ufdpassword*/

}OSUFD_LOGIN;

typedefstruct/*fileopenmode*/

intifopen;

/*ifopen:

0-close,1-open*/

intopenmode;

/*0-readonly,1-writeonly,2-readandwrite,3-initial*/

}OSUFD_OPENMODE;

OSUFD*ufd[MAXCHILD];

/*ufdandufdownfiles*/

OSUFD_LOGINufd_lp;

intucount=0;

/*thecountofmfd'

sufds*/

intfcount[MAXCHILD];

/*thecountofufd'

sfiles*/

intloginsuc=0;

/*whetherloginsuccessfully*/

charusername[MAXNAME];

/*recordloginuser'

sname22*/

chardirname[MAXNAME];

/*recordcurrentdirectory*/

intfpaddrno[MAX];

/*recordfilephysicaladdressnum*/

OSUFD_OPENMODEifopen[MAXCHILD][MAXCHILD];

/*recordfileopen/close*/

intwgetchar;

/*whethergetchar()*/

FILE*fp_mfd,*fp_ufd,*fp_file_p,*fp_file;

voidmain()

inti,j,choice1;

charchoice[50];

/*choiceoperation:

dir,create,delete,open,delete,modify,read,write*/

intchoiceend=1;

/*whetherchoiceend*/

char*rtrim(char*str);

/*removethetrailingblanks.*/

char*ltrim(char*str);

/*removetheheadingblanks.*/

voidLoginF();

/*LOGINFileSystem*/

voidDirF();

/*DirFileSystem*/

voidCdF();

/*ChangeDir*/

voidCreateF();

/*CreateFile*/

voidDeleteF();

/*DeleteFile*/

voidModifyFM();

/*ModifyFileMode*/

voidOpenF();

/*OpenFile*/

voidCloseF();

/*CloseFile*/

voidReadF();

/*ReadFile*/

voidWriteF();

/*WriteFile*/

voidQuitF();

/*QuitFileSystem*/

voidhelp();

if((fp_mfd=fopen("

c:

\\osfile\\mfd"

"

rb"

))==NULL)

{

fp_mfd=fopen("

wb"

);

fclose(fp_mfd);

}

for(i=0;

i<

MAX;

i++)fpaddrno[i]=0;

/*textattr(BLACK*16|WHITE);

/*clrscr();

*//*clearscreen*/

LoginF();

/*userlogin*/

if(loginsuc==1)/*LoginSuccessfully*/

{

while

(1)

{

wgetchar=0;

if(choiceend==1)

printf("

\n\nC:

\\%s>

"

strupr(dirname));

}

elseprintf("

Badcommandorfilename.\nC:

strupr(username));

gets(choice);

strcpy(choice,ltrim(rtrim(strlwr(choice))));

if(strcmp(choice,"

dir"

)==0)choice1=1;

elseif(strcmp(choice,"

create"

)==0)choice1=2;

delete"

)==0)choice1=3;

attrib"

)==0)choice1=4;

open"

)==0)choice1=5;

close"

)==0)choice1=6;

read"

)==0)choice1=7;

modify"

)==0)choice1=8;

exit"

)==0)choice1=9;

cls"

)==0)choice1=10;

cd"

)==0)choice1=11;

help"

)==0)choice1=20;

elsechoice1=12;

switch(choice1)

case1:

DirF();

choiceend=1;

break;

case2:

CreateF();

if(!

wgetchar)getchar();

case3:

DeleteF();

wgetchar)getchar();

case4:

ModifyFM();

case5:

OpenF();

if(!

case6:

CloseF();

case7:

ReadF();

case8:

WriteF();

case9:

printf("

\nYouhaveexitedthissystem."

QuitF();

exit(0);

case10:

clrscr();

case11:

CdF();

case20:

help();

default:

choiceend=0;

}

elseprintf("

\nAccessdenied."

}

voidhelp(void)

printf("

\nTheCommandList\n"

/*printf("

\nCdAttribCreateModifyReadOpenClsDeleteExitClose\n"

Create:

Createafile(Youcaninitializefile'

sattributeandcontent.)\n"

Open:

Openafile

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1