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

  • 大小: 235KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-16
  • 語言: 其他
  • 標簽: 模擬??

資源簡介

設計一個簡單的磁盤文件管理系統,用文件模擬磁盤,用數組模擬緩沖區,要求實現: (1)支持多級目錄結構,支持文件的絕對路徑訪問; (2)文件的邏輯結構采用流式(字節流)結構,物理結構采用鏈式結構中的顯式鏈方式; (3)磁盤管理采用文件分配表; (4)實現文件操作命令:創建目錄、列表目錄、刪除空目錄、創建文件、刪除文件、顯示文件內容、打開文件、讀文件、寫文件(追加方式)、關閉文件、改變文件屬性; (5)通過主函數對所實現的功能進行測試。

資源截圖

代碼片段和文件信息

#include?
#include?
#include?

#define?Block_number?128
#define?Block_size?64
//目錄和文件的結構定義
typedef?struct?node
{?
char?name[50];?//目錄或文件的名字?
int?type;?//0代表目錄,1代表普通文件?
char?state;//目錄狀態,$表示空目錄~表示非空
int?file_state;//文件狀態,1表示open,0表示close
int?file_size;?//文件的大小?
int?strat_number;//文件起始盤快號
char?property[5];//r-表示只讀,rw表示讀寫
char?content[Block_number?*?Block_size];//文件的內容
char?extension[10];//文件擴展名
struct?node?*next;?//指向下一個兄弟結點的指針
struct?node?*sub;?//指向第一個子結點的指針?
struct?node?*father;?//指向父結點的指針?
}dirNode;?
//文件分配表結構定義
typedef?struct?Node
{
char?name[50];//文件名
int?start_number;//起始快號
int?next_number;//文件存放位置的下一個塊號
int?number;//所在塊號
int?length;//長度
int?state;//盤塊記錄,0表示可用,1表示占用,-1表示文件結束,其他值表示故障塊
struct?Node?*next;
}*FAT;
//定義字符串結構
typedef?struct
{
char?data[100];
}string;
//記錄已打開或建立的文件信息結構
typedef?struct?table
{
char?path[100];//路徑信息
char?property[5];//r-表示只讀,rw表示讀寫
int?start_number;//起始塊號
int?length;//文件長度
char?type;//o表示打開,c表示關閉
struct?table?*next;
}*Table;

dirNode?*work;//工作目錄
dirNode?*root;//根目錄
Table?Info_t;//已打開或建立的文件信息表
FAT?fat;//文件分配表帶頭結點
char?path[100];//記錄路徑
int?Is_copy?=?0;//表示是否是復制指令,1是
int?size?=?0;//復制命令時的文件大小

//函數申明
void?InitFAT();//初始化文件分配表
void?InitDir();//初始化目錄
void?InitInfo_t();//初始化文件信息表
int?Create_File(char?way[]);//創建文件
void?Open_File(char?way[]);//打開文件
void?Close_File(char?way[]);//關閉文件
void?Read_File(char?way[]);//讀文件
void?Write_File(char?way[]);//寫文件
void?Delete_File(char?way[]);//刪除文件
void?Show_Content_File(char?way[]);//顯示文件內容
void?Copy_File(char?way1[]char?way2[]);//復制文件
void?Change_Property_File(char?way[]);//改變文件屬性
void?Make_Dir(char?way[]);//創建目錄
void?Show_Dir();//顯示所有目錄
void?Delete_Dir(char?way[]);//刪除目錄
void?Change_Dir(char?way[]);//改變工作目錄
dirNode?*Search(char?way[]);//查找路徑
int?order(char?command[]);//命令解析
void?Help();//幫助函數

//初始化文件分配表
void?InitFAT()
{
int?i;
FAT?filetabletemp;
fat?=?(FAT)malloc(sizeof(Node));
temp?=?fat;
for(i?=?0;i? {
filetable?=?(FAT)malloc(sizeof(Node));
filetable->state?=?0;
filetable->number?=?i;
filetable->next_number?=?-1;
filetable->start_number?=?-1;
filetable->length?=?-1;
strcpy(filetable->name““);
filetable->next?=?NULL;
temp->next?=?filetable;
temp?=?temp->next;
}
}
//初始化目錄
void?InitDir()
{
root?=?(dirNode*)malloc(sizeof(node));
strcpy(root->name“root“);
root->type?=?0;
root->file_state?=?-1;
root->father?=?NULL;
root->next?=?NULL;
root->sub?=?NULL;
root->state?=?‘$‘;
work?=?root;
strcpy(path“root“);
}
//初始化文件信息表
void?InitInfo_t()
{
Info_t?=?(Table)malloc(sizeof(table));
Info_t->length?=?-1;
strcpy(Info_t->path““);
strcpy(Info_t->property““);
Info_t->start_number?=?-1;
Info_t->type?=?‘c‘;
Info_t->next?=?NULL;
}
//創建文件
int?Create_File(char?way[])
{
int?i?=?0j?=?0;
int?file_size;//文件大小
int?number;//文件所要的塊數
char?temp[Block_number?*?B

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-04-07?20:07??OS_Test3\
?????目錄???????????0??2014-04-07?20:07??OS_Test3\Debug\
?????文件??????200813??2013-06-26?20:59??OS_Test3\Debug\OS_Test3.exe
?????文件??????202864??2013-06-26?20:59??OS_Test3\Debug\OS_Test3.ilk
?????文件??????226524??2013-06-26?20:59??OS_Test3\Debug\OS_Test3.pch
?????文件??????386048??2013-06-26?20:59??OS_Test3\Debug\OS_Test3.pdb
?????文件???????48542??2013-06-26?20:59??OS_Test3\Debug\main.obj
?????文件???????33792??2014-02-23?22:48??OS_Test3\Debug\vc60.idb
?????文件???????45056??2013-06-26?20:59??OS_Test3\Debug\vc60.pdb
?????文件????????4304??2013-06-09?14:12??OS_Test3\OS_Test3.dsp
?????文件?????????541??2013-06-09?14:11??OS_Test3\OS_Test3.dsw
?????文件???????58368??2014-02-23?22:49??OS_Test3\OS_Test3.ncb
?????文件???????53760??2014-02-23?22:49??OS_Test3\OS_Test3.opt
?????文件?????????895??2013-06-26?20:59??OS_Test3\OS_Test3.plg
?????文件???????24781??2013-06-23?14:33??OS_Test3\main.cpp

評論

共有 條評論