亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? page2.cpp

?? 一個內(nèi)含進程管理、內(nèi)存管理、文件管理的操作系統(tǒng)設(shè)計實現(xiàn)方案
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
	else 
	{
		
		 flag=write(fd,contect,strlen(contect));
		 if(flag == 0)
		 {
			 printf(" Copy successfully !\n");
		 }
		 else if(flag ==-1)
		 {
		     printf("Error:\n The disk size is not enough! \n");
		 }
		 else printf("The disk is not exist!");
	}
    close(name2);//關(guān)閉目的文件
	if(flag1==1)
	{
		
		bufferdir=bufferdir_temp;
		curdir_block=curdir_block_temp;
		*cur_dir=*temp_dir;  /*-將當前目錄確定下來-*/
		free(temdirect);
	}
	return 0;

}
/*----------------------------------------------------------------------------------------------*/
/*----------------------------------------創(chuàng)建文件----------------------------------------------*/

int CPage2::create(char *name)
{
	int flag=0;
    char *temdirect=(char*)malloc(sizeof(DIR_LENGTH));
	char *t=(char*)malloc(5);
	struct direct * temp_dir;
	int i,j,r=0;
	char extend=-1;
    char name_temp[3]={0};
	char *bufferdir_temp=(char*)malloc(sizeof(DIR_LENGTH));
	char curdir_block_temp;
	for(i=0;i<=int(strlen(bufferdir));i++)
		*(bufferdir_temp+i)=*(bufferdir+i);
	curdir_block_temp=curdir_block;
	temp_dir=(struct direct *)malloc(sizeof(struct direct));
	*temp_dir=*cur_dir;  /*-將當前目錄確定下來-*/
	
	i=strlen(name)-1;
	while(i>=0&&name[i]!='\\')
		i--;
	if(i!=-1)
	{ 
		for(int temp_i=0;temp_i<=5;temp_i++)
			if((name+i)!=NULL)
			{
				i++;
				*(t+(temp_i))=*(name+i);
			}
		name[i-5]='\0';
		i=0;
		while(name[i]!='\0') 
		{
			*(temdirect+i)=*(name+i);
			i++;
		}
		*(temdirect+i)='\0';
		flag=1;
		
	}
	else 
	{
		for(i=0;i<=int(strlen(name));i++)
			*(t+i)=*(name+i);
	}
	if(flag==1)
    r=chdir(temdirect);
	if((r==-1)||(r==-2)) return -7;
	name=t;
  //////////////////  
	for(i=0;i<5;)
    if((name[i]!='.')&&name[i]!=NULL) { name_temp[i]=name[i];i++;}
	else if (i==int(strlen(name))) 
		return -6;
	else 
	{      
		i++;
		if(name[i]!=NULL) extend=name[i];
		break;
	} 
	if(strlen(name)>5) /*文件名大于 5位(包括擴展名)*/
           return(-1);
           
    for(i=0;i<MSD;i++) /*找到第一個空閑子目錄*/
    {
         if(cur_dir->directitem[i].firstdisk=='F')
         break;             
    }
    
    for(j=0;j<MSD;j++) /*檢查創(chuàng)建文件是否與已存在的文件重名*/
    {
		 int k=0;
		 while((k<3)&&(cur_dir->directitem[j].name[k]==name_temp[k])) k++;
		 if(k>2) k=-1;
		 if((k==-1)&&(cur_dir->directitem[j].extend_name==extend))
		 break;   
    }
    
    if(i>=MSD) /*無空目錄項*/
	{
	   if(flag==1)
	   {
			bufferdir=bufferdir_temp;
			curdir_block=curdir_block_temp;
			*cur_dir=*temp_dir;  /*-將當前目錄確定下來-*/
			free(temp_dir);
	   }
		return(-2);
	}
    if(u_opentable.cur_size>=MOFN) /*打開文件太多(第五層)*/
	{ 
	   if(flag==1)
	   {
			bufferdir=bufferdir_temp;
			curdir_block=curdir_block_temp;
			*cur_dir=*temp_dir;  /*-將當前目錄確定下來-*/
			free(temp_dir);
	   }
		return(-3); 
	}
	if(j<MSD)     /*文件已經(jīng)存在*/
	{ 
	   if(flag==1)
	   {
			bufferdir=bufferdir_temp;
			curdir_block=curdir_block_temp;
			*cur_dir=*temp_dir;  /*-將當前目錄確定下來-*/
			free(temp_dir);
	   }
		return(-4);
	}    
    for(j=ROOT_DISK_NO+1;j<DISK_NUM;j++) /*找到空閑盤塊 j 后退出*/
    {
         if(fat[j].item=='F')
         break;
    }
	if(j>=DISK_NUM)
	{
	   if(flag==1)
	   {
			bufferdir=bufferdir_temp;
			curdir_block=curdir_block_temp;
			*cur_dir=*temp_dir;  /*-將當前目錄確定下來-*/
			free(temp_dir);
	   }
		return(-5);

	}
    fat[j].item= 0;  /*將空閑塊置為已經(jīng)分配*/
	color=1;
	 for(disk_num1=0;disk_num1<128;disk_num1++)
	 {
		if(fat[disk_num1].item!='F') 
		{
		 	CWnd   *pWnd=GetDlgItem(IDC_STATE);   
          CDC   *pControlDC=pWnd->GetDC();   
          //pWnd->Invalidate();   
          //pWnd->UpdateWindow();
		  pControlDC->SelectStockObject(BLACK_BRUSH); 
		 pControlDC->Rectangle(hardisk_state[disk_num1].x1,hardisk_state[disk_num1].y1,hardisk_state[disk_num1].x2,hardisk_state[disk_num1].y2);   //畫矩形
		 pWnd->ReleaseDC(pControlDC);   
		}
	 }
    /*-----------填寫目錄項-----------------*/
    for(int k=0;k<3;k++) cur_dir->directitem[i].name[k]=name_temp[k];
   cur_dir->directitem[i].firstdisk = j;
   cur_dir->directitem[i].size=0;
   cur_dir->directitem[i].property = '0';
   cur_dir->directitem[i].extend_name=extend;
    /*---------------------------------*/
   /*------------把目錄項寫回磁盤--------------*/
   if((fp=fopen("disk.dat","rb+"))==NULL)
   {
	   if(flag==1)
	   {
			bufferdir=bufferdir_temp;
			curdir_block=curdir_block_temp;
			*cur_dir=*temp_dir;  /*-將當前目錄確定下來-*/
			free(temp_dir);
	   }
		printf("Error:\nCannot open file\n");
		return -11;                                
   } 
   fseek(fp,(curdir_block*64+8*i),0);
   fwrite(&cur_dir->directitem[i],sizeof(struct FCB),1,fp);
   /*修改fat狀態(tài)*/
   char stat=0;
   fseek(fp,j,0);
   fwrite(&stat,1,1,fp);

   fclose(fp);
   if(flag==1)
   {
	   bufferdir=bufferdir_temp;
		curdir_block=curdir_block_temp;
		*cur_dir=*temp_dir;  /*-將當前目錄確定下來-*/
		free(temp_dir);
   }
    return 0;
 
}
/*----------------------------------------------------------------------------------------------*/
/*----------------------------------------刪除文件----------------------------------------------*/

int CPage2::del(char *name)
{
	CString strLine;
	int flag=0;
    char *temdirect=(char*)malloc(sizeof(DIR_LENGTH));
	char *t=(char*)malloc(5);
	struct direct * temp_dir;
	int i,j,r=0;
	char extend=-1;
    char name_temp[3]={0};
	char *bufferdir_temp=(char*)malloc(sizeof(DIR_LENGTH));
	char curdir_block_temp;
	
	for(i=0;i<=int(strlen(bufferdir));i++)
		*(bufferdir_temp+i)=*(bufferdir+i);
	curdir_block_temp=curdir_block;
	temp_dir=(struct direct *)malloc(sizeof(struct direct));
	*temp_dir=*cur_dir;  /*-將當前目錄確定下來-*/
	
	i=strlen(name)-1;
	while(i>=0&&name[i]!='\\')
		i--;
	if(i!=-1)
	{ 
		for(int temp_i=0;temp_i<=5;temp_i++)
			if((name+i)!=NULL)
			{
				i++;
				*(t+(temp_i))=*(name+i);
			}
		name[i-5]='\0';
		i=0;
		while(name[i]!='\0') 
		{
			*(temdirect+i)=*(name+i);
			i++;
		}
		*(temdirect+i)='\0';
		flag=1;
		
	}
	else 
	{
		for(i=0;i<=int(strlen(name));i++)
			*(t+i)=*(name+i);
	}
	if(flag==1)
    r=chdir(temdirect);
	if((r==-1)||(r==-2)) return -7;
	name=t;
    
	for(i=0;i<5;)
    if((name[i]!='.')&&name[i]!=NULL) { name_temp[i]=name[i];i++;}
	else if (i==int(strlen(name))) 
		return 0;
	else 
	{      
		i++;
		if(name[i]!=NULL) extend=name[i];
		break;
	} 
	
	if(strlen(t)>5) /*文件名大于 5位(包括擴展名)*/
           return(-1);
    for(j=0;j<MSD;j++) /*檢查創(chuàng)建文件是否與已存在的文件重名*/
    {
		 int k=0;
		 while((k<3)&&(cur_dir->directitem[j].name[k]==name_temp[k])) k++;
		 if(k>2) k=-1;
		 if((k==-1)&&(cur_dir->directitem[j].extend_name==extend))
		 break;   
    }

    if(j<MSD)     /*文件已經(jīng)存在*/
	{   
		i=j;
		fat[j].item='F' ; /*將空閑塊置為已經(jīng)分配*/
		/*-----------填寫目錄項-----------------*/
		// strcpy(cur_dir->directitem[i].name,name_temp);
	   for(int k=0;k<3;k++)cur_dir->directitem[i].name[k]=' ';
	   cur_dir->directitem[i].firstdisk = 'F';
	   cur_dir->directitem[i].size=0;
	   cur_dir->directitem[i].property = '0';
	   cur_dir->directitem[i].extend_name=' ';
		//printf("%c",cur_dir->directitem[i].extend_name);
		 
		/*---------------------------------*/
	   /*------------把目錄項寫回磁盤--------------*/
	   if((fp=fopen("disk.dat","rb+"))==NULL)
	   {
		   	m_display+="Error:\nCannot open file\r\n";
			strLine.Format("%s",m_display);
			GetDlgItem(IDC_EDITDIS)->SetWindowText(strLine); 
			return 2;                                
	   } 
	   fseek(fp,(curdir_block*64+8*i),0);
	   fwrite(&cur_dir->directitem[i],sizeof(struct FCB),1,fp);
	   /*修改fat狀態(tài)*/
	   char stat='F';
	   fseek(fp,j,0);
	   fwrite(&stat,1,1,fp);

	  fclose(fp);
	  // printf("%d",fd);  //測試文件在文件打開表中的序號

	   if(flag==1)
	   {
		   bufferdir=bufferdir_temp;
			curdir_block=curdir_block_temp;
			*cur_dir=*temp_dir;  /*-將當前目錄確定下來-*/
			free(temp_dir);
	   }
   }
	fat[0].item=0;
		 for(disk_num1=0;disk_num1<128;disk_num1++)
	 {
		if(fat[disk_num1].item=='F') 
		{
		 	CWnd   *pWnd=GetDlgItem(IDC_STATE);   
          CDC   *pControlDC=pWnd->GetDC();   
          //pWnd->Invalidate();   
          //pWnd->UpdateWindow();
		  pControlDC->SelectStockObject(R2_BLACK);
		   //pControlDC->Rectangle(hardisk_state[0].x1,hardisk_state[0].y1,hardisk_state[0].x2,hardisk_state[0].y2);   //畫矩形
		 pControlDC->Rectangle(hardisk_state[disk_num1].x1,hardisk_state[disk_num1].y1,hardisk_state[disk_num1].x2,hardisk_state[disk_num1].y2);   //畫矩形
		 pWnd->ReleaseDC(pControlDC);   
		}
	 }
    return 1;
}
/*----------------------------------------------------------------------------------------------*/
/*-------------------------------顯示當前目錄的子目錄-------------------------------------------*/

void CPage2::dir()
{
	CString strLine;
	int i,j=0,k=0;
	char a[10]={0};
	char b;
	char b1,b2;
	for(i=0;i<MSD;i++)
	{
		j=0;
		k=0;
		if(cur_dir->directitem[i].firstdisk!='F') /*-如果存在子目錄-*/
		{           /*-其本身和父目錄也算?-*/
			while(j<3)
			a[j]=cur_dir->directitem[i].name[j++];
			a[j++]='\0';
			m_display+=a;
		//	m_display+='\0';
			j=0;
			if(cur_dir->directitem[i].property=='0') /*-文件-*/
			{
				a[k++]='.';
				a[k++]=cur_dir->directitem[i].extend_name;
				a[k]='\0';
				m_display+=a;
				m_display+="\t\t";
				b=cur_dir->directitem[i].size;   //將一個數(shù)字值以ASCII形式表示為其數(shù)值  如將ASCII碼76,轉(zhuǎn)化為兩個ASCII碼,7+48和6+48就能輸出7與6
				b1=b/10;
				b1+=48;
				b2=b%10;
				b2+=48;
				//m_display+=cur_dir->directitem[i].size;
				m_display+=b1;
				m_display+=b2;
				m_display+="B\t\t\r\n";
				
				strLine.Format("%s",m_display);
				GetDlgItem(IDC_EDIT1)->SetWindowText(strLine);
			}
			else          /*-目錄-*/
			{
				m_display+="\t\t<DIR>\t\r\n";
				
			}
		}
		
	}
	 m_display+=bufferdir;
	m_display+=">";
	strLine.Format("%s",m_display);
	GetDlgItem(IDC_EDITDIS)->SetWindowText(strLine); 
}
/*---------------------------------------------------------------------------------------------*/
/*-----------------------------------------執(zhí)行可執(zhí)行文件--------------------------------------*/
exelist exe_lst,*l;
pointer p;
void CPage2::executive(char *contect, int num)
{
	extern Status InitListexe(exelist *l);
	extern Status InsertListexe(exelist*l,pointer p);
	
	char Space = 32; /*SPACE的ASCII碼值*/
	char Endter= '\n';
	int i;
	l=&exe_lst;
	InitListexe(l);     
	for(i=0;i<num;)
	{
		if((contect[i] ==Space)||contect[i] == '\n') 
		{ 
			i++;
		}
		else
		{
			p=(pointer)malloc(sizeof(exe));
			for(int j=0;j<4;)
			{
				p->a[j++]=contect[i++];
				if(j==3)p->a[j]='\0';
			}
			InsertListexe(l, p);
		}
	}
}
/*----------------------------------------------------------------------------------------------*/
/*---------------------------------------創(chuàng)建子目錄---------------------------------------------*/

int CPage2::mkdir(char *name)
{
	int i,j;
	struct direct *cur_mkdir;
	int k;

    if(strchr(name,'\\'))/*如果目錄名中有 '\'字符*/
	return(-4);
	if(!strcmp(name,"."))
	return(-6);
	if(!strcmp(name,".."))
	return(-6);
	if(strlen(name)>3)  /*-如果目錄名長度大于 5位-*/
	return(-1);

	for(i=0;i<MSD;i++) /*-如果有空閑目錄項退出-*/
	{
		if((cur_dir->directitem[i].firstdisk=='F'))
		break;
	}
	if(i>=MSD) /*-目錄/文件 已滿-*/
	    return(-2);
 
	for(j=0;j<MSD;j++) /*-判斷是否有重名-*/
	{
		for(k=0;k<(int)strlen(name);)
		{
			 if(cur_dir->directitem[j].name[k]==name[k])  k++;
			 else break;
			 if(k==(int)strlen(name)) {k=-1; break;}
		}
		if((cur_dir->directitem[j].property=='1')&&(k==-1))
		break;
	}
	if(j<MSD)  /*-如果有重名-*/
	return(-3);
	for(j=ROOT_DISK_NO;j<DISK_NUM;j++) /*-找到空閑磁盤塊 j 后退出-*/ 
	{
		if(fat[j].item=='F')
		break;
	}
	if(j>=DISK_NUM)
	return(-5);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品天干天干在观线| 久久99久久精品| bt欧美亚洲午夜电影天堂| 欧美一区二区日韩一区二区| 一区二区三区丝袜| 激情综合色播五月| 精品剧情在线观看| 久久国产精品色婷婷| 精品国产一二三| 国产精品一二三在| 亚洲天堂免费看| 色婷婷久久一区二区三区麻豆| 亚洲欧美一区二区三区极速播放| 不卡的电视剧免费网站有什么| 国产精品传媒视频| 一本色道a无线码一区v| 亚洲成人福利片| 91精品久久久久久蜜臀| 美女在线视频一区| 中文字幕在线不卡一区| 91美女视频网站| 亚洲国产视频网站| 久久久精品tv| 色综合久久综合网97色综合 | 成人av在线影院| 自拍偷拍亚洲欧美日韩| 欧美日韩mp4| 成人免费电影视频| 日韩国产欧美在线播放| 国产免费观看久久| 欧美喷潮久久久xxxxx| 国产剧情av麻豆香蕉精品| 日韩理论片一区二区| 日韩欧美二区三区| 99国产精品久久久久| 美日韩黄色大片| 亚洲免费毛片网站| 久久久国产精品不卡| 欧美精品久久一区二区三区| 成人国产免费视频| 国产麻豆视频精品| 日本在线不卡视频| 日日噜噜夜夜狠狠视频欧美人| 亚洲欧洲色图综合| 中文字幕+乱码+中文字幕一区| 日韩精品中文字幕一区| 欧美日韩精品一区二区三区四区| 91亚洲精品久久久蜜桃网站| 久久99国产精品尤物| 免费成人av在线播放| 人妖欧美一区二区| 另类中文字幕网| 狠狠久久亚洲欧美| 国产在线精品国自产拍免费| 久久国产精品72免费观看| 美女一区二区久久| 国产乱码精品一区二区三区忘忧草 | 欧洲亚洲国产日韩| 97久久精品人人爽人人爽蜜臀| 国产精品一级黄| 成人激情小说乱人伦| av亚洲产国偷v产偷v自拍| 成人app软件下载大全免费| 91在线一区二区三区| 欧洲另类一二三四区| 欧美一区二区美女| 久久精子c满五个校花| 综合色中文字幕| 午夜不卡在线视频| 国产寡妇亲子伦一区二区| 成人影视亚洲图片在线| 欧美日韩国产中文| 欧美日韩国产不卡| 欧美国产日本韩| 日本成人在线电影网| 成人av网站在线观看免费| 日韩一区二区免费在线电影| 国产精品污网站| 国产一区二区三区四| 日本伦理一区二区| 精品国内二区三区| 欧美视频日韩视频在线观看| 欧美日韩一级二级| 亚洲国产精品高清| 麻豆视频一区二区| 欧美午夜在线一二页| 国产区在线观看成人精品| 亚洲一区成人在线| 日韩vs国产vs欧美| 亚洲国产精品天堂| 久久精品999| 欧美性受极品xxxx喷水| 日韩欧美一二三四区| 亚洲一区二区三区在线| aaa欧美大片| 国产精品福利一区| 国产成人精品免费看| 久久久久久久综合狠狠综合| 午夜精品福利久久久| 欧洲精品一区二区| 亚洲欧美一区二区不卡| 91在线观看高清| 亚洲精品网站在线观看| 91在线视频免费91| 亚洲少妇中出一区| 日韩激情中文字幕| 亚洲国产高清在线观看视频| 天堂久久久久va久久久久| 欧美亚洲高清一区二区三区不卡| 亚洲欧美一区二区不卡| 欧美日韩一区二区三区四区五区 | 国产精品第一页第二页第三页| 国产成人av影院| 一区二区三区中文字幕在线观看| 99久久久久免费精品国产 | av网站免费线看精品| 亚洲三级在线看| 日韩精品一区二区在线| 亚洲午夜电影网| 日韩在线卡一卡二| 九色|91porny| 国产亚洲女人久久久久毛片| 国产精品996| 亚洲第一综合色| 久久麻豆一区二区| 一本久久a久久免费精品不卡| 综合av第一页| 精品久久久久av影院| 色综合天天综合狠狠| 久久不见久久见中文字幕免费| 中文字幕av一区二区三区高 | 欧美成人aa大片| 欧美日韩综合不卡| 久久超级碰视频| 亚洲一区自拍偷拍| 日韩一级免费观看| 91麻豆免费观看| 成人影视亚洲图片在线| 蜜臀久久99精品久久久久宅男| 亚洲人午夜精品天堂一二香蕉| 欧美一级黄色录像| 在线播放日韩导航| 欧美亚洲高清一区二区三区不卡| 成人永久aaa| 成人天堂资源www在线| 成人免费福利片| 成人精品国产一区二区4080| 狠狠色丁香婷婷综合久久片| 舔着乳尖日韩一区| 日本成人在线一区| 美女一区二区视频| 美女视频网站黄色亚洲| 婷婷六月综合亚洲| 美腿丝袜一区二区三区| 六月丁香综合在线视频| 另类小说欧美激情| 国产精品888| 91在线观看成人| 91成人在线免费观看| 在线播放国产精品二区一二区四区 | 麻豆精品视频在线观看视频| 人人爽香蕉精品| 国产精品123区| 99视频在线精品| 欧美日韩一卡二卡| 日韩精品在线一区| 一色桃子久久精品亚洲| 亚洲男同性视频| 久久激情五月婷婷| 一本一道久久a久久精品| 91.麻豆视频| 国产精品视频免费| 日本不卡1234视频| 99re免费视频精品全部| 日韩一级大片在线观看| 国产精品免费丝袜| 亚洲午夜一区二区三区| 国产自产高清不卡| 制服丝袜一区二区三区| 国产午夜亚洲精品不卡| 亚洲国产精品尤物yw在线观看| 国产在线播精品第三| 欧美日韩综合在线| 亚洲欧美一区二区三区孕妇| 久久99精品视频| 欧美日韩在线播放一区| 欧美国产日韩在线观看| 国产在线视频不卡二| 欧美日韩在线综合| 一区二区久久久久久| 日韩不卡一区二区| 色av一区二区| 日韩一区中文字幕| eeuss国产一区二区三区| 国产婷婷一区二区| 国精产品一区一区三区mba视频| 欧美一区二区三区在| 日韩av网站免费在线| 91精品视频网| 久久99精品国产91久久来源|