操作系统+文件管理+部分代码(2)

2020-12-16 10:25

如何操作文件的打开关闭修改

的存在的文件计数
} MFD[N];

2.4 程序流程图



失败 重新登录


成功
用户命令



三 程序代码以及运行结果
系统管理员登陆以及验证:
bool login(char *name, char *pwd )
{
if( (strcmp(name, http://www.77cn.com.cn)==0) && (strcmp(pwd, admin.password)==0))
{ return true; }
return false;
}

创建新用户
bool NewUser(char user[])
{ int i=0;
while(strcmp(MFD[i].Username,"")!=0&&(i<N))//查看MFD,检测用户数是否已满
{ i++; }
if(i>=N){ //如果用户数已满
cout<<"用户数已满. 你必须删除一个用户才继续新建用户"<<endl;
return 0;
}
else{ //如果用户数未满,则建立新用户
strcpy(MFD[i].Username,user);
NOU++;//用户数加1
cout<<" 用户 "<<user<<" 创建成功 ."<<endl;//提示当前用户创建成功
cout<<" 系统现有的用户数 : "<<NOU<<endl;//显示系统现有的用户数
return 1;
}
}


注销用户
void Logout(int a)
{ //注销用户,清除所有文件的登记栏
string str;
char temp[5]="";
for(int i=0;i<L;i++)
{ //对 UFD中的文件名MFD[a].UserDirec[i].fname进行处理
str=static_cast<string>(MFD[a].UserDirec[i].fname);
strcpy(MFD[a].UserDirec[i].fname,str.substr(0,4).c_str());

for(int j=0;j<S;j++) //如果UFD中的文件名与UOF中的文件名相同
{//对UOF中的文件名UOF[i].fname进行处理
str=static_cast<string>(MFD[a].OpenUser[j].fname);
strcpy(MFD[a].OpenUser[j].fname,str.substr(0,4).c_str());
//清除UOF中信息
if(strcmp(MFD[a].UserDirec[i].fname,MFD[a].OpenUser[j].fname)==0)
{ strcpy(MFD[a].OpenUser[j].fname,""); //清除UOF中文件名
strcpy(MFD[a].OpenUser[j].proper,"");//清除UOF中文件属性
MFD[a].OpenUser[j].length=0; //清除UOF中记录长度
strcpy(MFD[a].OpenUser[j].state,""); //清除UOF中文件状态
MFD[a].OpenUser[j].read=0; //清除UOF中读指针
MFD[a].OpenUser[j].write=0; //清除UOF中写指针
}
}
//清除UFD中信息
strcpy(MFD[a].UserDirec[i].fname,"");//清除UFD中文件名
strcpy(MFD[a].UserDirec[i].proper,"");//清除UFD中文件属性
MFD[a].UserDirec[i].length=0;//清除UFD中记录长度

MFD[a].UserDirec[i].addr=0; //清除UFD中文件地址
}

strcpy(temp, MFD[a].Username);
strcpy(MFD[a].Username,"");//清除MFD中的用户


操作系统+文件管理+部分代码(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中华人民共和国城市维护建设税暂行条例实施细则

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

马上注册会员

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