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

資源簡介

內附詳細課程設計文檔,以及可運行代碼,數據結構文件系統模擬器

資源截圖

代碼片段和文件信息

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

char?msg[]?=“/“;//聲明字符串,后面調用,防止char*內存錯誤?
struct?TreeNode?{//樹節點
struct?TreeNode?*parent;//父指針
struct?TreeNode?*FirstChild;//第一個兒子指針
struct?TreeNode?*xiongdi;//兄弟指針
bool?flag_file;//true表示文件,false表示目錄
char?fileName[100];//文件名
int?depth;//深度
int?size;//子文件數目
};
typedef?struct?TreeNode?*Position;//為了使用方便
typedef?struct?TreeNode?*Tree;
typedef?struct?TreeNode?*ptr;

class?CatalogTree;
void?cd_Position(CatalogTree?*a?Position?x);//根據位置尋找路徑
void?deletePtr(CatalogTree?*a?ptr?t);//根據位置刪除

class?CatalogTree?{

public:
TreeNode?*root;
ptr?currentPosition;
public:
CatalogTree();//構造函數
~CatalogTree()?{//析構函數
deletePtr(this?root);
};
void?mkdir(char?*name?Position?t);//創建目錄
void?mkfile(char?*name?Position?t);//創建文件
void?ListDir();//列出當前目錄下的文件
void?Delete(char?*str);//刪除文件或目錄
void?cd();//打印當前路徑
void?cdStr(char?*str);//跳到指定路徑
void?cdPre();//跳到父路徑
void?save(char?*filename);//將目錄結構保存至文件
void?load(char?*filename);//將目錄結構從文件載入
void?ListDirToFile(Position?D?int?Depth?FILE?*file);//從文件打印出目錄結構
void?size(char?*dirName);//打印當前目錄下的文件個數

};


CatalogTree::CatalogTree()
{?//構造方法
ptr?m_root?=?(struct?TreeNode*)malloc(sizeof(struct?TreeNode));
m_root->FirstChild?=?NULL;
memset(m_root->fileName?0?sizeof(m_root->fileName));
m_root->fileName[0]?=?‘/‘;
m_root->flag_file?=?false;
m_root->parent?=?NULL;
m_root->xiongdi?=?NULL;
m_root->size?=?0;
root?=?m_root;
currentPosition?=?root;

};


void?CatalogTree::size(char?*dirName)?{//打印出當前路徑下某目錄的文件數

Position?t;
bool?flag?=?false;
for?(t?=?currentPosition->FirstChild;?t?!=?NULL;?t?=?t->xiongdi)?{
if?(strcmp(t->fileName?dirName)?==?0)?{
flag?=?true;
break;
}
}

if?(strcmp(dirName?“/“)?==?0)?flag?=?true;

if?(flag?==?false)?{
printf(“ 沒有該目錄或文件\n“);
return;
}

if?(strcmp(dirName?“/“)?==?0)//打印根目錄的文件數
printf(“size?of?%s?:?%d\n“?dirName?root->size);
else
printf(“size?of?%s?:?%d\n“?dirName?t->size);

}

void??CatalogTree::ListDirToFile(Position?D?int?Depth??FILE?*file)//從文件打印出目錄結構
{
ptr?temp;
if?(D!=NULL)?{
for?(int?i?=?0;?i? fprintf(file??“\t“);
}
if?(D->flag_file?==?true)?{
//printf(“%s?.f\n“?D->fileName);
fprintf(file?“%s?.f\n“?D->fileName);
}

else?{
//printf(“%s?.d\n“?D->fileName);
fprintf(file?“%s?.d\n“?D->fileName);
}

if?(D->flag_file?==?false)
for?(temp?=?D->FirstChild;?temp?!=?NULL;?temp?=?temp->xiongdi)
ListDirToFile(temp?Depth?+?1??file);
}
}


void?CatalogTree::save(char?*filename)?{//將目錄結構保存至文件
FILE*?file?=?fopen(filename?“w“);
if?(file?==?NULL)?{
printf(“ 文件打開失敗\n“);
return;
}
ListDirToFile(this->root?0??file);//將目錄結構存入文件
fclose(file);
//printf(“ 保存文件成功\n“);
}



void??ListFileToTree(CatalogTree?*T??Position?D?char?preDir[]?int?preDepth?FI

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????14016??2018-06-17?12:07??文件系統模擬器\FileSystem.cpp
?????文件?????1934557??2018-06-17?12:15??文件系統模擬器\FileSystem.exe
?????文件??????608287??2018-06-17?12:14??文件系統模擬器\文件系統模擬器.docx
?????目錄???????????0??2018-06-17?12:15??文件系統模擬器\

評論

共有 條評論