⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 模拟Linux文件系统 在任一OS下
💻 CPP
字号:
#include "disk.h"
disk DISK;
void main(){
	///////////////////////////最底层测试
	/*
	fstream iof("filesystem",ios::binary|ios::in|ios::out);
	if(!iof){
		cout<<"cannot open such a file"<<endl;
		return;
	}
	DISK.disk_open(iof);
	DISK.format();
	DISK.installfilesystem();
	inodelist_disk idr(iof);
	inode in;
    idr.inodelist_disk_read(0,&in);
	folder fd(iof,in);
	fd.folder_browse();
	iof.close();
	*/
	///////////////////////////////////////////////
	//////////////////////////测试currentpath函数
	/*
	currentpath x("root/c:/kernel");
	x.format();
	char filename[20];
	for(int i=1;i<=x.level;i++){
		x.getname(filename,i);
		cout<<filename<<endl;
	}
	x.add("jc");
	x.add("kk");
	for(i=1;i<=x.level;i++){
		x.getname(filename,i);
		cout<<filename<<endl;
	}*/
	//////////////////////////
	///////////////////////////测试fileopenmanager
	/*
	fstream iof("filesystem",ios::binary|ios::in|ios::out);
	if(!iof){
		cout<<"cannot open such a file"<<endl;
		return;
	}
	DISK.disk_open(iof);
	DISK.format();
	DISK.installfilesystem();
	openfilemanager otemp;
	currentpath x("root");
	x.format();
	openfileitem*f=otemp.createopenfileitem(&x);
	folder fd(DISK.iof,*(f->pinode));
	fd.folder_browse();
	iof.close();
	*/
	///////////////////测试folder.applyfor
	/*
	fstream iof("filesystem",ios::binary|ios::in|ios::out);
	if(!iof){
		cout<<"cannot open such a file"<<endl;
		return;
	}
	DISK.disk_open(iof);
	DISK.format();
	DISK.installfilesystem();
	inodelist_disk idr(iof);
	inode in;
    idr.inodelist_disk_read(0,&in);
	folder fd(iof,in);

	freebitmap fb(DISK.iof);
	int k=fb.freebitmap_applyfor();
	fb.freebitmap_set(k);
	inodelist_disk ild(DISK.iof);
	int j=ild.inodelist_disk_applyfor();///////////////
	inode itemp;
	itemp.inode_ini();
	itemp.address[0]=j;///////////
	itemp.file_size=2;
	itemp.inode_num=j;
	itemp.extend3=0;
	itemp.extend4=0;
	ild.inodelist_disk_write(j,itemp);//根据inode号写表
	///////////////////////
	folder ftemp(DISK.iof,itemp);	
	ftemp.folder_makedir();


	int w=fd.folder_applyfor();
	folderitem fitemp;
	strcpy(fitemp.filename,"ok");
	fitemp.inodenum=j;
	fd.folder_write(w,&fitemp);
		///////////////////////
	fd.folder_inodewriteback();
	fd.folder_browse();
	ftemp.folder_browse();
	iof.close();
	*/
///////////////////////////测试内核函数createfolder与folderbrowse
	/*
	fstream iof("filesystem",ios::binary|ios::in|ios::out);
	if(!iof){
		cout<<"cannot open such a file"<<endl;
		return;
	}
	DISK.disk_open(iof);
	DISK.format();
	DISK.installfilesystem();
	openfilemanager otemp;
	currentpath x("root");
	x.format();
	servicehandle sh=otemp.createopenfileitem(&x);
	kernel_createfolder(sh,"ok");
	kernel_folderbrowse(sh);
	iof.close();
	*/
///////////////////////测试openfilemanager.searchinodenumbycurrentpath
/*
	fstream iof("filesystem",ios::binary|ios::in|ios::out);
	if(!iof){
		cout<<"cannot open such a file"<<endl;
		return;
	}
	DISK.disk_open(iof);
	DISK.format();
	DISK.installfilesystem();
	openfilemanager otemp;
	currentpath x("root");
	x.format();
	servicehandle sh=otemp.createopenfileitem(&x);
	kernel_createfolder(sh,"ok");
	//kernel_folderbrowse(sh);
	kernel_createfolder(sh,"ok2");
	kernel_folderbrowse(sh);
	x.add("ok");
	servicehandle sh_new=otemp.createopenfileitem(&x);
	kernel_createfolder(sh_new,"yes");
	kernel_folderbrowse(sh_new);
	currentpath xx("root/ok/yes");
	xx.format();
	servicehandle sh_new2=otemp.createopenfileitem(&xx);
	kernel_folderbrowse(sh_new2);
	iof.close();
	*/
////////////////////////////测试folder_deleteitem
/*
    fstream iof("filesystem",ios::binary|ios::in|ios::out);
	if(!iof){
		cout<<"cannot open such a file"<<endl;
		return;
	}
	DISK.disk_open(iof);
	DISK.format();
	DISK.installfilesystem();
	openfilemanager otemp;
	currentpath x("root");
	x.format();
	servicehandle sh=otemp.createopenfileitem(&x);
	kernel_createfolder(sh,"ok2");
	//kernel_folderbrowse(sh);
	kernel_createfolder(sh,"ok");
	cout<<x.cp<<endl;
	kernel_folderbrowse(sh);



	currentpath xx("root/ok");
	xx.format();
	servicehandle sh_new=otemp.createopenfileitem(&xx);
	kernel_createfolder(sh_new,"yes");
	kernel_folderdeleteitem(sh,"ok");
	kernel_folderdeleteitem(sh,"wc");
	cout<<xx.cp<<endl;
	kernel_folderbrowse(sh_new);
	xx.add("yes");
	servicehandle sh_new2=otemp.createopenfileitem(&xx);
	kernel_createfolder(sh_new2,"haha");
	cout<<xx.cp<<endl;
	kernel_folderbrowse(sh_new);
	cout<<xx.cp<<endl;
	kernel_folderbrowse(sh_new2);
	iof.close();
*/
///////////////////////////////测试fileimage
/*
    fstream iof("filesystem",ios::binary|ios::in|ios::out);
	if(!iof){
		cout<<"cannot open such a file"<<endl;
		return;
	}
	DISK.disk_open(iof);
	DISK.format();
	DISK.installfilesystem();
	openfilemanager otemp;
	currentpath x("root");
	x.format();
	servicehandle sh=otemp.createopenfileitem(&x);
	kernel_createfolder(sh,"ok2");
	//kernel_folderbrowse(sh);
	kernel_createfolder(sh,"ok");
	kernel_createfile(sh,"hahaha.txt");
	kernel_folderbrowse(sh);
	x.add("hahaha.txt");
	servicehandle sh_n=otemp.createopenfileitem(&x);
    kernel_filecat_text(sh_n);
	kernel_folderdeletefile(sh,"hahaha.txt");
	kernel_folderbrowse(sh);
	iof.close();
*/

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -