教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 政务民生 >

操作系统2014课程设计(6)

来源:网络收集 时间:2026-07-24
导读: ufd[i]->ufdfile[fcount[i]-1].flength=WriteF1(); flag=0; } else if(strcmp(strupr(a),\ } printf(\ } else {printf(\ } else {printf(\ }} } int ExistF(char *filename) /*Whether FileName Exist,Exist-i,Not

ufd[i]->ufdfile[fcount[i]-1].flength=WriteF1(); flag=0; }

else if(strcmp(strupr(a),\ }

printf(\ } else

{printf(\ }

else {printf(\ }} }

int ExistF(char *filename) /*Whether FileName Exist,Exist-i,Not Exist-0*/ {int i,j; int exist=0;

int ExistD(char *dirname); j=ExistD(dirname); for(i=0;i

if (strcmp(strupr(ufd[j]->ufdfile[i].fname),strupr(filename))==0) {exist=1; break; }

if (exist) return(i); else return(-1); }

int FindPANo() /*find out physical address num*/ {int i;

for(i=0;i

if (fpaddrno[i]==0) {fpaddrno[i]=1;break;} if (i

int WriteF1() /*write file*/ {int length=0; char c;

printf(\ while((c=getchar())!='#') {fprintf(fp_file,\ if (c!='\\n') length++; }

fprintf(fp_file,\ fclose(fp_file); return(length); }

void DeleteF() /*Delete File*/ {char fname[MAXNAME]; char str[50],str1[50]; int i,j,k,flag=1;

char a[25]; /*whether delete*/

char *rtrim(char *str); /*remove the trailing blanks.*/ char *ltrim(char *str); /*remove the heading blanks.*/

int ExistF(char *filename); /*Whether FileName Exist,Exist-i,Not Exist-0*/ int ExistD(char *dirname);

if (strcmp(strupr(dirname),strupr(username))!=0)

{printf(\ else

{printf(\ gets(fname);

ltrim(rtrim(fname)); i=ExistF(fname); if (i>=0)

{k=ExistD(username); if(ifopen[k][i].ifopen==1)

{printf(\delete.\\n\ else {

while(flag)

{printf(\gets(a);

ltrim(rtrim(a));

if(strcmp(strupr(a),\

{fpaddrno[ufd[k]->ufdfile[i].fpaddr]=0; itoa(ufd[k]->ufdfile[i].fpaddr,str,10); for(j=i;j

{strcpy(ufd[k]->ufdfile[j].fname,ufd[k]->ufdfile[j+1].fname); ufd[k]->ufdfile[j].fpaddr=ufd[k]->ufdfile[j+1].fpaddr; ufd[k]->ufdfile[j].flength=ufd[k]->ufdfile[j+1].flength; ufd[k]->ufdfile[j].fmode=ufd[k]->ufdfile[j+1].fmode; ifopen[k][j]=ifopen[k][j+1]; }

fcount[k]--;

strcpy(str1,\

strcat(str1,str); remove(str1); flag=0;

printf(\wgetchar=1; }

else if(strcmp(strupr(a),\

{printf(\ wgetchar=1; flag=0;} }}} else

{printf(\}

void ModifyFM() /*Modify FileMode*/ {char fname[MAXNAME],str[50]; int i,j,k,flag;

char fmode[25]; /*whether delete*/

char *rtrim(char *str); /*remove the trailing blanks.*/ char *ltrim(char *str); /*remove the heading blanks.*/

void InputPW(char *password); /*input password,use '*' replace*/ void SetPANo(int RorW); /*Set physical address num*/

int ExistF(char *filename); /*Whether FileName Exist,Exist-i,Not Exist-0*/ int ExistD(char *dirname);

if (strcmp(strupr(dirname),strupr(username))!=0) {printf(\modify filemode in yourself dir.\\n\ else

{ printf(\ gets(fname);

ltrim(rtrim(fname)); i=ExistF(fname); if (i>=0)

{k=ExistD(username); if(ifopen[k][i].ifopen==1)

{printf(\modify.\\n\ else {

if(ufd[k]->ufdfile[i].fmode==0) strcpy(str,\ else if(ufd[k]->ufdfile[i].fmode==1) strcpy(str,\ else if(ufd[k]->ufdfile[i].fmode==2) strcpy(str,\ else strcpy(str,\

printf(\

printf(\ gets(fmode);

ltrim(rtrim(fmode)); if(strcmp(fmode,\ {ufd[k]->ufdfile[i].fmode=0;

printf(\wgetchar=1; }

else if(strcmp(fmode,\ {ufd[k]->ufdfile[i].fmode=1;

printf(\wgetchar=1; }

else if(strcmp(fmode,\ {ufd[k]->ufdfile[i].fmode=2;

printf(\wgetchar=1; }

else if(strcmp(fmode,\ {ufd[k]->ufdfile[i].fmode=3;

printf(\wgetchar=1; }

else {printf(\ } } else

{printf(\}

void OpenF() /*Open File*/ {char fname[MAXNAME];

char str[25],str1[25],fmode[25]; int i,k;

char *rtrim(char *str); /*remove the trailing blanks.*/ char *ltrim(char *str); /*remove the heading blanks.*/

int ExistF(char *filename); /*Whether FileName Exist,Exist-i,Not Exist-0*/ int ExistD(char *dirname);

if (strcmp(strupr(ltrim(rtrim(dirname))),\

{printf(\ printf(\ gets(fname);

ltrim(rtrim(fname)); i=ExistF(fname); if (i>=0)

{k=ExistD(dirname); if(!ifopen[k][i].ifopen)

{if (ufd[k]->ufdfile[i].fmode==3)

{printf(\ else

{printf(\input FileOpenMode(0-Read Only,1-Write Only,2-Read and Write):\ gets(fmode);

ltrim(rtrim(fmode));

if((strcmp(fmode,\ {if(fmode[0]=='0') /*open file with read only mode*/ {strcpy(str,\

if((ufd[k]->ufdfile[i].fmode==0)||(ufd[k]->ufdfile[i].fmode==2)) ifopen[k][i].ifopen=1; }

else if(fmode[0]=='1') /*open file with write only mode*/ {strcpy(str,\

if((ufd[k]->ufdfile[i].fmode==1)||(ufd[k]->ufdfile[i].fmode==2)) ifopen[k][i].ifopen=1; }

else if(fmode[0]=='2') /*open file with read and write mode*/ {strcpy(str,\

if(ufd[k]->ufdfile[i].fmode==2) ifopen[k][i].ifopen=1; }

if(ufd[k]->ufdfile[i].fmode==0) strcpy(str1,\ else if(ufd[k]->ufdfile[i].fmode==1) strcpy(str1,\ else if(ufd[k]->ufdfile[i].fmode==2) strcpy(str1,\ if(ifopen[k][i].ifopen==1) {ifopen[k][i].openmode=atoi(fmode);

if (ifopen[k][i].openmode==0) strcpy(str,\ else if(ifopen[k][i].openmode==1) strcpy(str,\ else if(ifopen[k][i].openmode==2) strcpy(str,\ printf(\is %s\\n\ wgetchar=1; }

else

{printf(\FileMode is %s\\n\ }

else {printf(\ }}

…… 此处隐藏:2618字,全部文档内容请下载后查看。喜欢就下载吧 ……
操作系统2014课程设计(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/447902.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)