实验四 Login用户登录 bool chklogin(char *users, char *pwd) { int i; for(i=0; i<8; i++) { if( (strcmp(users,usrarray[i].name)==0) && (strcmp(pwd,usrarray[i].pwd)==0)) return true; } return false; } Create创建文件 int create() { temp=initfile(\cin>>temp->filename; cin>>temp->content; if(recent->child==NULL) { temp->parent=recent; temp->child=NULL; recent->child=temp; temp->prev=temp->next=NULL; cout<<\文件建立成功!\} else { ttemp=recent->child; while(ttemp->next) { - 11 -
ttemp=ttemp->next; if(strcmp(ttemp->filename,temp->filename)==0&&ttemp->isdir==0) { printf(\对不起,文件已存在!\return 1; } } ttemp->next=temp; temp->parent=NULL; temp->child=NULL; temp->prev=ttemp; temp->next=NULL; cout<<\文件建立成功!\} return 1; } int dir() { int i=0,j=0; temp=new fnode; temp=recent; if(temp!=root) {cout<<\if(temp->child==NULL) { cout<<\return 1; } temp=temp->child; while(temp) { if(temp->isdir) {cout<<\else {cout<<\temp=temp->next; } cout<<\} Read读取文件 int read() { char filename[FILENAME_LENGTH]; - 12 -
cin>>filename; if(recent->child==NULL) { cout<<\文件不存在!\return 1; } if(strcmp(recent->child->filename,filename)==0) { cout<
{ temp=recent->child; while(temp->next) { if(strcmp(temp->next->filename,filename)==0) { recent->child->isopen=1;//设置文件标记为打开 cin>>temp->next->content; recent->child->isopen=0;//设置文件标记为关闭 cout<<\文件写入成功!\return 1;} } cout<<\文件不存在!\} } Del删除 int del() { char filename[FILENAME_LENGTH]; cin>>filename; temp=new fnode; if(recent->child) { temp=recent->child; while(temp->next && (strcmp(temp->filename,filename)!=0 || temp->isdir!=0)) temp=temp->next; if(strcmp(temp->filename,filename)!=0) { cout<<\不存在该文件!\return 0; } } else { cout<<\不存在该文件!\return 0; } if(temp->parent==NULL) { temp->prev->next=temp->next; if(temp->next) temp->next->prev=temp->prev; temp->prev=temp->next=NULL; - 14 -
} else { if(temp->next) temp->next->parent=temp->parent; temp->parent->child=temp->next; } delete temp; cout<<\文件已删除!\} 建立目录 int mkdir() { temp=initfile(\cin>>temp->filename; if(recent->child==NULL) { temp->parent=recent; temp->child=NULL; recent->child=temp; temp->prev=temp->next=NULL; } else { ttemp=recent->child; while(ttemp->next) { ttemp=ttemp->next; if(strcmp(ttemp->filename,temp->filename)==0&&ttemp->isdir==1) { printf(\对不起,目录已存在!\return 1; } } ttemp->next=temp; temp->parent=NULL; temp->child=NULL; temp->prev=ttemp; temp->next=NULL; } return 1; - 15 -