操作系统4(3)

2020-02-20 14:04

}

}

if(i>LIST_SIZE) { } while(1) { }

if(c=='n'||c=='N')

flagdir=(struct DIR *)(file+blocknum*BLOCK_SIZE); while(m!=LIST_SIZE) { }

strcpy(dir->list[i].fname,\ strcpy(dir->list[i].exname,\dir->list[i].fnum=0;

strcpy(flagdir->list[0].fname,\ strcpy(flagdir->list[0].exname,\

//要删除目录的DIR

//父目录DIR

if(strcmp(flagdir->list[m].fname,\{ } m++;

printf(\该目录下有子文件或者子目录,不能删除该目录\return 0;

printf(\是否确认?(Y/N)\cin>>c;

if((c=='y'||c=='Y')||(c=='n'||c=='N'))

break;

printf(\该文件夹下不存在%s\return 0;

blocknum=dir->list[i].fnum;

} /*

flagdir->list[0].fnum=0; strcpy(flagdir->list[1].fname,\strcpy(flagdir->list[1].exname,\flagdir->list[0].fnum=0; MAP->maplist[blocknum]=0; FAT->id[blocknum]=0; FAT->id[0]=FAT->id[0]+1; return 0;

*更改当前目录 */

int changedir(char *str) {

if(strcmp(\ {

blocknum=currentdir;

if(dir->list[0].fnum==dir->list[1].fnum) //根目录的特征 { }

currentdir=dir->list[1].fnum;

//改变当前目录指针

//去上层的目录地址

return 1;

//判断是不是上层目录

dir=(struct DIR *)(file+currentdir*BLOCK_SIZE); int i;

int blocknum;

string strflag; //为了改当前显示的代码

//当前目录位置

//temp的目录位置

struct DIR * flagdir,*dir;

flagdir=(struct DIR *)(file+currentdir*BLOCK_SIZE);

} /*

}

for(int j=0;j

CURRENT=CURRENT.substr(0,(CURRENT.length()-strflag.length())-1); return 1;

if(flagdir->list[j].fnum==blocknum) { }

strflag=flagdir->list[j].fname; break;

for(i=2;i

if(i>LIST_SIZE) { }

{ }

//子目录

if(strcmp(dir->list[i].fname,str)==0&&strcmp(dir->list[i].exname,\

currentdir=dir->list[i].fnum; break;

printf(\找不到指定的目录%s\\n\return 0;

CURRENT=CURRENT+str+\return 1;

*创建文件 */

int create(char *str,int length) {

templength=length;

l=strlen(str); //取文件名 for(i=0;i=8) { }

printf(\文件名称过长\\n\ return 0;

name[i]=str[i]; if(str[i+1]=='.')

break;

dir=(struct DIR *)(file+(currentdir)*BLOCK_SIZE); MAP=(struct map *)(file+(FATNUM+1)*BLOCK_SIZE); FAT=(struct fatid *)(file+BLOCK_SIZE); struct fatid * FAT; struct DIR *dir; struct map *MAP;

//getfilename int i,j,l,t,k;

//FAT的首块号

//文件的首块判断

int flag;

char name[8]={0}; //文件名称 char exname[3]={0}; //文件扩展名 int templength; //temp文件长度

//去扩展名 j=0; i++; i++;//除去点 k=l-i;

for(j=0;j

for(i=2;i

if(strcmp(dir->list[i].fname,name)==0&&strcmp(dir->list[i].exname,exname)==0) { }

if(strcmp(dir->list[i].fname,\{ }

break;

printf(\改文件夹下,已经有同名文件\return 0;

printf(\文件名称不能为空\\n\return 0;

if(strcmp(name,\

if(str[i]=='\\0') i++; }

break;

exname[j]=str[i];

if(length>FAT->id[0]) { }

printf(\文件超出磁盘容纳空间\\n\return 0;


操作系统4(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:基于PIC16F887单片机的数字钟完整c程序代码

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: