91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 14KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-11
  • 語言: C/C++
  • 標簽:

資源簡介

一個簡單的文件系統(操作系統課程設計)主要任務是對用戶文件和系統文件進行管理,以方便用戶使用,并保證文件的安全性。文件管理具有對文件存儲空間的管理、目錄管理、文件的讀/寫管理以及文件的共享與保護功能。從用戶的角度看,目錄在用戶(應用程序)所需要的文件名和文件之間提供一種映射,所以目錄應實現“按名存取”,“按名存取”是目錄管理中最基本的功能,也是文件系統向用戶提供的最基本的服務。目錄管理中有多種實現機制,其中二級目錄機制可以解決多用戶之間的文件重名問題,文件系統可以在目錄上實現訪問限制。

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
using?namespace?std;

//宏定義
#define?MaxUser?20??????????//定義最大MDF主目錄文件
#define?MaxDisk?512*1024?????//模擬最大磁盤空間
#define?commandAmount?12?????//對文件操作的指令數

//存儲空間管理有關結構體和變量
char?disk[MaxDisk];?????//模擬512K的磁盤存儲空間
typedef?struct?distTable??//磁盤塊結構體
{
int?maxlength;
int?start;
int?useFlag;
distTable?*next;
}diskNode;

diskNode?*diskHead;
struct?fileTable????//文件塊結構體:文件表
{
char?fileName[10];
int?strat;??????????//文件在磁盤存儲空間的起始地址
int?length;?????????//文件內容長度
int?maxlength;??????//文件的最大長度
char?fileKind[3];???//文件的屬性——讀寫方式
struct?tm?*timeinfo;??//時間類型指針
bool?openFlag;???????//判斷是否有進程打開了該文件
};

//兩級目錄結構體
typedef?struct?userFileDirectory??//用戶文件目錄文件UFD
{
fileTable?*file;
userFileDirectory?*next;
}UFD;

typedef?struct?master_file_directory??//主文件目錄MFD
{
char?userName[10];
char?password[10];
UFD?*user;
}MFD;
MFD?userTable[MaxUser];
int?used=0;?????????????????????????????//定義MFD目錄中用已有的用戶數

//文件管理
//void?createFile(char?fileName[]int?lengthchar?fileKind[]);????????//創建文件
void?fileWrite(char?fileName[]);????????????????????//寫文件
void?fileCat(char?fileName[]);????????????????????//讀文件
void?fileRen(char?fileName[]char?rename[]);????????//重命名文件
void?fileFine(char?fileName[]);???????????????????//查詢文件
void?fileDir(char?UserName[]);????????????????????//顯示某一用戶的所有文件
void?fileClose(char?fileName[]);??????????????????//關閉已打開的文件
//void?delFile(char?fileName[]);????????????????????//刪除文件
void?chmod(char?fileName[]char?kind[]);?????????//修改文件的讀寫方式
int?requestDist(int?&startPostionint?maxLength);?//磁盤分配查詢
void?initDisk();??????????????????????????????????//初始化磁盤
void?freeDisk(int?startPostion);??????????????????//磁盤空間釋放
void?diskShow();??????????????????????????????????//顯示磁盤使用情況

//用戶管理
void?userCreate();
int?login();
int?userID=-1;???//用戶登錄的ID號,值為-1時表示沒有用戶登錄



void?userCreate()
{
char?c;
char?userName[10];
int?i;
if(used {
cout<<“請輸入用戶名:“;
for(i=0;c=getch();i++)
{
if(c==13)?break;
else
userName[i]=c;
printf(“%c“c);
}
userName[i]=‘\0‘;
for(i=0;i {
if(!strcmp(userTable[i].userNameuserName))
{
cout<<“\n“;
cout<<“該用戶名已存在創建用戶失敗\n“;
system(“pause“);
return;
}
}
strcpy(userTable[used].userNameuserName);
cout<<“\n“;
cout<<“請輸入密碼:“;
for(i=0;c=getch();i++)
{
if(c==13)?break;
else
userTable[used].password[i]=c;
printf(“*“);
}
userTable[userID].password[i]=‘\0‘;
cout<<“\n“;
cout<<“用戶創建成功\n“;
used++;
system(“pause“);
}
else
{
cout<<“創建用戶失敗,用戶已達到上限\n“;
system(“pause“);
}
fflush(stdin);
}

int?login()
{
char?name[10]psw[10];
char?c;
int?itimes;
cout<<“請輸入用戶名:“;
for(i=0;c=getch();i++)
{
if(c==13)?break;
else
name[i]=c;
printf(“%c“c);
}
name[i]=‘\0‘;
for(i=0;i {
if(!strcmp(user

評論

共有 條評論

相關資源