实验 文件管理二Word文档下载推荐.docx
- 文档编号:14749479
- 上传时间:2022-10-24
- 格式:DOCX
- 页数:15
- 大小:34.59KB
实验 文件管理二Word文档下载推荐.docx
《实验 文件管理二Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《实验 文件管理二Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
UFD
文件名
保护码
文件长度
AFD
打开文件名
打开保护码
读写指针
三、调度算法的流程图
四、文件管理源程序
#include<
stdio.h>
string.h>
malloc.h>
stdlib.h>
typedefstructufd
{charfilename[10];
/*文件名*/
charprocode[8];
/*属性*/
intlength;
/*文件长度*/
structufd*nextfile;
/*指向下一个文件*/
}UFD;
typedefstructmfd
{charusername[10];
/*用户名*/
structufd*link;
/*指向该用户的第一个文件*/
}MFD;
typedefstructprotected_flag
{charcode[4];
}PRO;
typedefstructafd/*运行文件目录*/
/*打开文件名*/
charprocode[4];
intrwpointer;
/*读写指针*/
}AFD;
PROflag[3]={"
100"
/*只读*/
"
110"
/*读写*/
001"
/*可执行*/
};
UFD*rw_pointer;
AFD*afd=NULL;
MFDfilesystem[10];
intnum;
/*当前用户个数*/
voiddisplayallfile()
{inti;
UFD*p;
for(i=0;
i<
num;
i++)
{
printf("
用户:
%s目录如下!
\n"
filesystem[i].username);
p=filesystem[i].link;
while(p)
{printf("
\t文件名:
%s\t||"
p->
filename);
文件属性:
procode);
printf("
文件长度:
%d\n\n"
length);
p=p->
nextfile;
}
}
voidinput()/*建立用户文件系统*/
{inti,j;
charfilename[10];
UFD*p1,*p2,*first;
10;
filesystem[i].link=NULL;
用户号码:
);
scanf("
%d"
&
num);
i++)/*输入各用户名称*/
输入第%d个用户名:
i+1);
%s"
i++)/*输入某用户的文件数据*/
j=1;
第%d个用户的文件如下\n"
文件%d:
j);
长度:
if(!
length)
continue;
文件名:
filename);
文件属性(100只读,110读写,001可执行)"
procode);
first=(UFD*)malloc(sizeof(UFD));
first->
nextfile=NULL;
strcpy(first->
filename,filename);
procode,procode);
length=length;
p1=p2=first;
j++;
while
(1)
{printf("
break;
属性(100只读,110读写,001可执行):
p2=(UFD*)malloc(sizeof(UFD));
p2->
strcpy(p2->
p1->
nextfile=p2;
p1=p1->
filesystem[i].link=first;
displayallfile();
intfindusername(char*username)/*返回用户名下标,当I=NUM时,用户不存在*/
i=0;
while(i<
num)
{if(!
strcmp(filesystem[i].username,username))
i++;
returni;
UFD*findfilename(char*filename,UFD*filepointer)
{UFD*k;
k=filepointer;
while(k&
&
strcmp(filename,k->
filename))
k=k->
returnk;
voiddisplayfile(UFD*link)
{UFD*p;
p=link;
p)
{printf("
\n此目录没有该文件!
return;
\n用户文件如下:
%s\t||"
%d\n\n"
p=p->
voidcreatefile()
inti;
UFD*p1,*p2,*newfile;
if(num>
=10)/*用户文件目录已满,创建文件失败*/
用户文件目录已满\n创建文件失败!
输入用户名:
username);
i=findusername(username);
/*返回用户名下标*/
if(i==num)/*如果该用户不存在,且用户个数不小于10,先创建用户再建立用户文件*/
用户不存在,请建立用户!
strcpy(filesystem[num].username,username);
/*创建用户目录*/
num++;
{newfile=(UFD*)malloc(sizeof(UFD));
newfile->
filesystem[num-1].link=newfile;
filesystem[num-1].link->
\n属性:
\n长度:
(filesystem[num-1].link->
length));
\n文件已创建!
else/*为已存在的用户建立文件*/
{p1=p2=filesystem[i].link;
输入文件名:
while(p2)
{if(!
strcmp(p2->
filename,filename))
{printf("
文件名已存在,请输入新文件名!
p1=p2;
p2=p2->
newfile=(UFD*)malloc(sizeof(UFD));
strcpy(newfile->
newfile->
(newfile->
nextfile=newfile;
//
voiddisplayuser()/*显示用户目录*/
{inti;
if(num<
=0)
\n用户目录如下!
"
i++);
\n%s"
voiddeletefile()/*删除文件*/
charusername[10];
UFD*p1,*p2;
\n输入用户名:
//返回用户名下标
if(i>
=num)
用户不存在!
\n删除失败!
return;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 文件管理二 文件 管理
![提示](https://static.bdocx.com/images/bang_tan.gif)