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

  • 大小: 19KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發布日期: 2021-05-29
  • 語言: C/C++
  • 標簽: 文件管理??

資源簡介

簡單的實現操作系統文件管理系統,能實現文件的或目錄的增加,刪除,修改名字,查找,工作目錄的改變等簡單的文件功能,很好用,歡迎下載。

資源截圖

代碼片段和文件信息

#include
#include
#include
#include
using?namespace?std;
//?******************目錄和文件的結構定義******
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;?//定義根目錄
typedef?dirNode?*btree;//復制文件是新建的根節點目錄,
?
char?path[100];?//定義路徑信息
?
//初始化函數
void?initial()
{
????strcpy_s?(?root.name“root“?);//復制函數,后者復制到前者結尾
????root.type=0;
????root.next=NULL;
????root.sub=NULL;
????root.father=NULL;
????root.size=0;
?
????workDir=&root;
?
????strcpy_s?(?path“root“?);
}
?
//初始化新結點函數
dirNode?*init()
{
????dirNode?*p;
?
????p=new?dirNode;
?
????//strcpy_s?(?root.name““?);
????root.type=0;
????root.next=NULL;
????root.sub=NULL;
????root.father=NULL;
????root.size=0;
?
????return?p;
}
?
//1?進入子目錄
void?CD?(?char?dirName[]?)
{
????dirNode?*p;
????int?flag=0;
int?n=1;
?
????p=workDir->sub;
????if?(?p==NULL?)
????{
????????cout<<“錯誤\““<????}
????else
????{
????????while?(?p&&(flag==0)?)
????????{
????????????if?(?p->type==0?)
????????????{
????????????????if?(?!strcmp?(?p->namedirName?)?)//當二者是同一個目錄時
????????????????{
????????????????????flag=1;
????????????????????break;
????????????????}
????????????}
if(flag==0)
p=p->next;
????????}
????????if?(?flag==1?)
????????{
????????????workDir=p;
????????????strcat_s?(?path“\\?“?);//函數功能把后者添加到前者結尾
????????????strcat_s?(?pathp->name?);//記錄路徑
????????????cout<<“工作目錄已進入\““<????????}
????????else
????????{
????????????cout<<“錯誤\““<????????}
????}
}
?
//2?創建文件
void?CREATE?(?char?fileName[]int?fileSize?)
{
????int?flag;
????dirNode?*p1*q1;
????q1=new?dirNode;

????strcpy_s(?q1->namefileName?);
????q1->sub=NULL;
????q1->type=1;
????q1->next=NULL;
????q1->father=workDir;
????q1->size=fileSize;
?
????p1=workDir->sub;
?
????if?(?p1==NULL?)
????{
????????workDir->sub=q1;
????????cout<<“\““<????}
????else
????{
????????flag=0;
????????while?(?p1?)
????????{
????????????if?(?p1->type==1?)
????????????{
????????????????if?(?!strcmp(?p1->namefileName?)?)
????????????????{
????????????????????flag=1;
????????????????????cout<<“錯誤\““<????????????????}
????????????}
????????????p1=p1->next;
????????}
????????if?(?flag==0?)
????????{
????????????p1=workDir->sub;
????????????while?(?p1->next?)
????????????{
????????????????p1=p1->next;
????????????}
????????????p1->next=q1;
????????????cout<<“\““<????????}
????}
}
?
//3?刪除文件
void?DEL?(?char?fileName[]?)
{
????dirNode?*p*q;
????int?flag=0;
?
????p=workDir->sub;
????if?(?p==NULL?)
????{

評論

共有 條評論