freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

操作系統(tǒng)實驗報告文件管理(編輯修改稿)

2024-12-18 16:43 本頁面
 

【文章內(nèi)容簡介】 ***讀寫系統(tǒng)超級塊信息***********************************/ void Read_Boot() //讀取磁盤超級塊數(shù)據(jù) 信息 { rewind(fsPtr)。 fread(amp。FsSupBlk,sizeof(struct Super_Block),1,fsPtr)。 return。 } void FileBoot() //超級塊數(shù)據(jù)信息存盤 { rewind(fsPtr)。 fwrite(amp。FsSupBlk,sizeof(struct Super_Block),1,fsPtr)。 return。 15 } /***********************FAT 操作 ***********************************/ void LoadFat() //裝載全部 FAT 到內(nèi)存 { fseek(fsPtr,*512,SEEK_SET)。 fread(fat_buffer,sizeof(long int), ,fsPtr)。 return。 } void SaveFat() //FAT 到文件 FAT 區(qū) { fseek(fsPtr,*512,SEEK_SET)。 fwrite(fat_buffer,sizeof(long int),fsPtr)。 return。 } /***********************顯示超級塊信息 ***********************************/ void boot_dis() { printf(=%ld\n,)。 printf(=%d\n,)。 printf(=%d\n,)。 printf(=%d\n,)。 16 printf(=%d\n,)。 printf(=%d\n,)。 printf(=%d\n,)。 printf(=%ld\n,)。 printf(=%ld\n,)。 } /***********************系統(tǒng)初始化 ***********************************/ void Sys_Init() //初始化 { fsPtr=fopen(DiskName,rb+)。 if(fsPtr == NULL) Create_Disk()。 Read_Boot()。 //boot_dis()。 LoadFat()。 return。 } /***********************顯示操作 ***********************************/ void dir() //顯示目錄下的文件 { int i,countFile=0。 char str[16]。 long int n,pos_dir,pos_fat。 17 coutendl。 pos_dir=*512。 pos_fat=*512。 fseek(fsPtr,pos_dir,SEEK_SET)。 while(ftell(fsPtr)pos_fat) { fread(amp。filefcb[0],sizeof(struct FCB_Block),16 ,fsPtr)。 for(i=0。i16。i++) if(filefcb[i].flag == 1) //文件占有 { countFile++。 n = filefcb[i].file_length。 printf( %15s%s%15d bytes\n, filefcb[i].file_name,file,n)。 } } coutendl。 printf( 總共有 %d 個文件 \n,countFile)。 printf( 系統(tǒng)總共有 %ld 個物理塊可用 \n\n,)。 } /*************************查找文件 *******************************/ //查找文件 ,文件存在 返回當前 FCB 數(shù)組下標,否則返回 1 18 int Find_File(char *filename) { int i。 long int pos_dir,pos_fat。 pos_dir=*512。 pos_fat=*512。 find_fcb=0。 fseek(fsPtr,pos_dir,SEEK_SET)。 while(ftell(fsPtr)pos_fat) { find_fcb++。 fread(amp。filefcb[0],sizeof(struct FCB_Block),16 ,fsPtr)。 for(i=0。i16。i++) if(filefcb[i].flag!=1) { if(strcmp(filename,filefcb[i].file_name) == 0) return i。} //文件存在 } return 1。 } /*************************創(chuàng)建文件 *******************************/ void create(char *fname,long int num) //在當前目錄下創(chuàng)建一個名字為 str 的文件,長度為 num { int i,j。 //true 表示沒有與該名字重名的文件 int tempnode。 19 long int pos_dir,getnum=0。 unsigned long int blkcount。 blkcount= num/512+1。 //計算需要的物 理塊 if( blkcount) //磁盤沒有足夠空間 { printf(\n 磁盤沒有足夠空間,不能建立 ! \n\n)。 return。 } tempnode=Find_File(fname)。 if (tempnode!=1) //表示文件存在 { printf(\n 文件已經(jīng)存在,不需要建立 ! \n\n)。 return。} // 建立文件的處理 pos_dir=*。 fseek(fsPtr,pos_dir,SEEK_SET)。 //定位到目錄區(qū) for(i=0。 i。 i++) { //Read_Block(i+,(char *)filefcb)。 fread(amp。filefcb[0],sizeof(struct FCB_Block),16 ,fsPtr)。 for(j=0。j16。j++) 20 if(filefcb[j].flag == 1) //找到空目錄項 { // 分配空間 , 標記 FCB 數(shù)據(jù)項,并將 FCB 寫磁盤 getnum=Get_Block(blkcount)。 if(getnum==1){ printf(不能分配存儲空間 \n)。return。} filefcb[j].file_start=getnum。 filefcb[j].flag = 1。 filefcb[j].file_length=num。 strcpy(filefcb[j].file_name,fname)。 //filefcb[].file_time= //filefcb[].file_date= // 改變磁盤 FCB 值 pos_dir=pos_dir+sizeof(struct FCB_Block)*(i*16+j)。 fseek(fsPtr,pos_dir,SEEK_SET)。 //定位到目錄區(qū)的 FCB 項 fwrite(amp。filefcb[j],sizeof(struct FCB_Block),1 ,fsPtr)。 //Write_Block(i+,(char *)filefcb)。 printf( 文件占用了 %d 個物理塊 \n,blkcount)。 printf( 系統(tǒng)還
點擊復制文檔內(nèi)容
高考資料相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1