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

資源簡介

操作系統 課程設計 C++ 模擬文件系統 源代碼,寫實驗報告必備良品,代碼無錯,直接運行VC

資源截圖

代碼片段和文件信息

#include?“stdafx.h“


#include?“stdafx.h“
#include?“stdio.h“?
#include?“string.h“?
#include?“iostream.h“?
#include?“math.h“?
#include?“stdlib.h“?
#include?“iomanip.h“?
//?******************目錄和文件的結構定義******?
typedef?struct?node{?
char?name[50];?/*目錄或文件的名字*/?
int?type;?/*0代表目錄,1代表普通文件*/?
struct?node?*next;?/*指向下一個兄弟結點的指針*/?
struct?node?*sub;?/*指向第一個子結點的指針*/?
struct?node?*father;?/*指向父結點的指針*/?
int?size;?/*如果是文件則表示文件的大小*/?
}dirNode;?

dirNode?*workDir;?//定義當前工作目錄?
dirNode?root;?//定義根目錄?

char?path[100];?//定義路徑信息?

//初始化函數?
void?initial()?
{?
strcpy(root.name“root“);?
root.type=0;?
root.next=NULL;?
root.sub=NULL;?
root.father=NULL;?
root.size=0;?

workDir=&root;?

strcpy(path“root“);?
}?

//初始化新結點函數?
dirNode?*init()?
{?
dirNode?*p;?

p=new?dirNode;?

strcpy(root.name““);?
root.type=0;?
root.next=NULL;?
root.sub=NULL;?
root.father=NULL;?
root.size=0;?

return?p;?
}?

//改變目錄?
void?CD(char?dirName[])?
{?
dirNode?*p;?
int?flag=0;?

p=workDir->sub;?
if(p==NULL)
{?
cout<<“錯誤\““<}?
else
{?
while(p)
{?
if(p->type==0)
{?
if(!strcmp(p->namedirName))
{?
flag=1;?
break;?
}?
}?
p=p->next;?
}?
if(flag==1)
{?
workDir=p;?
strcat(path“\\?“);?
strcat(pathp->name);?
cout<<“工作目錄已進入\““< }?
else
{?
cout<<“錯誤\““< }?
}?
}?

//創建文件?
void?CREATE(char?fileName[]int?fileSize)?
{?
int?flag;?
dirNode?*p*q;?

q=new?dirNode;?
strcpy(q->namefileName);?
q->sub=NULL;?
q->type=1;?
q->next=NULL;?
q->father=workDir;?
q->size=fileSize;?

p=workDir->sub;?

if(p==NULL)
{?
workDir->sub=q;?
cout<<“\““<}?
else
{?
flag=0;?
while(p)
{?
if(p->type==1)
{?
if(!strcmp(p->namefileName))
{?
flag=1;?
cout<<“錯誤\““< }?
}?
p=p->next;?
}?
if(flag==0)
{?
p=workDir->sub;?
while(p->next)
{?
p=p->next;?
}?
p->next=q;?
cout<<“\““< }?
}?
}?

//刪除文件?
void?DEL(char?fileName[])?
{?
dirNode?*p*q;?
int?flag=0;?

p=workDir->sub;?
if(p==NULL)
{?
cout<<“錯誤\““<}?
else
{?
while(p)
{?
if(p->type==1)
{?
if(!strcmp(p->namefileName))
{?
flag=1;?
break;?
}?
}?
p=p->next;?
}?
if(flag==1)
{?
if(p==workDir->sub)
{?
workDir->sub=p->next;?
}?
else
{?
q=workDir->sub;?
while(q->next!=p)
{?
q=q->next;?
}?
q->next=p->next;?
delete?p;?
}?
cout<<“\““< }?
else
{?
cout<<“錯誤\““< }?
}?
}?

//顯示所有目錄?

//顯示本目錄下所有兄弟目錄和文件?
void?dir(dirNode?*p)?
{?
while(p)
{?
if(p->type==0)
{?
cout.setf(2);?
cout<name<“< }?
else
{?
cout.setf(2);?
cout<name<

評論

共有 條評論