?? mixedindex.cpp
字號:
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
#include "head1.c"
#include "win.c"
#include "interface.c"
createfile() /*建立文件*/
{int len,flag,i;
int bit[NB];
int flength,soyinum,bitnum,filenum,mlnum,f;
char fname[11],next/*,wcont[100]*/;
/*for(i=0;i<NB;i++)*/
/* bit=0;*/ /*位示圖初始成0000000000*/
rein:printf("\ncreatefile()輸入文件名:");
scanf("%s",fname);
printf("\n %s",fname);
if(strlen(fname)>11){
printf("文件名 %s 太長(<=11個字符)",fname);
goto rein;
}
filenum=sechfil(fname);/*從目錄表中查找有無相同的*/
if(filenum>=0)printf("\n目錄中已經存在該文件!目錄號為:%d,\n",filenum);
flength=getfilelen(fname);/******獲取文件名,取得長度*********/
if(flength==-1||filenum>=0){
do{ /*嘗試進行另外一個文件*/
printf("\n Want To Continue???(Y/N)");
scanf("%c",&next);
}while(!(next=='n'||next=='N'||next=='Y'||next=='y'));
if(next=='y'||next=='Y')
{
goto rein;
}
}
else{
printf("\n file length :%d",flength);
getche();
soyinum=sechsuoyin();
printf("\n soyinum:%d",soyinum);
getche();
/*for(i=0;i<600;i++)*/
/* bit=0;*/
bitnum=sechbit(flength);
mlnum=searchml();
if(soyinum!=ERROR&&bitnum!=ERROR&&mlnum!=ERROR)
{printf("\n經查找可為該文件分配!位置:索引:%d,位示圖:%d 目錄:%d \n正在填寫相關信息......",soyinum,bitnum,mlnum);
f=flength%16;
if(f==0)len=flength/16;
else
len=flength/16+1;
flag=1;
printf("\n將位視圖內容從%d處修改%d個,標志:%d",bitnum,len,flag);
chgbit(bitnum,len,flag);/*將位視圖內容flag從from處修改*/
/*writebit();*/
printf("寫入模擬目錄表...");
chgmulu(fname,soyinum,mlnum);/*修改目錄文件*/
/*writeml(fpml);*/
clrchgsy();/*清空索引*/
/*修改目錄文件,filenum為文件在目錄表中的絕對位置號*/
/*soyinum=sechsuoyin();*/ /*空閑節(jié)點的編號*/
printf("\n空閑節(jié)點的編號 %d",soyinum);
/* searchphi();*/ /*查找該文件,物理地址,返回物理地址所存放數組首地址*/
fileinfo(flength,soyinum,'a');/*確定邏輯地址*/
printf("\n修改索引節(jié)點%d信息...",soyinum);
chgsuoyin(soyinum);/*修改索引節(jié)點n信息*******/
/*savesuoyin();*/
printf("\n寫入鏡像文件(從%d)...\n",bitnum*16);/*位示圖中一塊在鏡像文件中為16字節(jié)*/
/*writemirror(bitnum*16,flength,wcont);*/
writemirror(bitnum*16,flength,1);/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
clrchgsy();/*清空索引*/
printf("\n恭喜!操作成功!!!SUCCESS!!");
}
else printf("\n鑒于以上原因不能完成請求!");
}
do{ /*嘗試進行另外一個分配*/
printf("\n Continue To Test To Creat Another File??(Y/N)");
scanf("%c",&next);
}while(!(next=='n'||next=='N'||next=='Y'||next=='y'));
if(next=='y'||next=='Y')
{
goto rein;
}
}
/*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*/
earse()/*刪除文件>>>回收文件占用的空間,修改模擬空閑盤塊表文件;*/
/*回收索引節(jié)點空間,修改模擬空閑索引節(jié)點表文件,修改模擬目錄表文件*/
{
char fname[11],next;
int nml,nsy,flength,i,j,soyinum;
int f,len;
rein:printf("\nearse()輸入文件名:");/*輸入文件名*/
scanf("%s",fname);
printf("\n %s",fname);
if(strlen(fname)>11){
printf("文件名 %s 太長(<=11個字符)",fname);
goto rein;
}
nml=searchfile(fname);/******獲取文件編號*********/
/* flength=getfilelen(fname);*//******獲取文件名,取得長度*********/
if(nml==ERROR){
do{ /*嘗試進行另外一個文件*/
printf("\nnml ERROR!!! Want To Continue???(Y/N)");
scanf("%c",&next);
}while(!(next=='n'||next=='N'||next=='Y'||next=='y'));
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -