文件系統(tǒng)實(shí)驗(yàn)報(bào)告

上傳人:jun****875 文檔編號(hào):17755894 上傳時(shí)間:2020-12-05 格式:DOC 頁數(shù):26 大?。?21.91KB
收藏 版權(quán)申訴 舉報(bào) 下載
文件系統(tǒng)實(shí)驗(yàn)報(bào)告_第1頁
第1頁 / 共26頁
文件系統(tǒng)實(shí)驗(yàn)報(bào)告_第2頁
第2頁 / 共26頁
文件系統(tǒng)實(shí)驗(yàn)報(bào)告_第3頁
第3頁 / 共26頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《文件系統(tǒng)實(shí)驗(yàn)報(bào)告》由會(huì)員分享,可在線閱讀,更多相關(guān)《文件系統(tǒng)實(shí)驗(yàn)報(bào)告(26頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、 試驗(yàn)四 文件系統(tǒng)一、 實(shí)驗(yàn)?zāi)康?、 用高級(jí)語言編寫和調(diào)試一個(gè)簡(jiǎn)單的文件系統(tǒng),模擬文件管理的工作過程。從而對(duì)各種文件操作命令的實(shí)質(zhì)內(nèi)容和執(zhí)行過程有比較深入的了解。2、 要求設(shè)計(jì)一個(gè)n個(gè)用戶的文件系統(tǒng),每次用戶可以保存M個(gè)文件。用戶在一次運(yùn)行中只能打開一個(gè)文件,對(duì)文件必須設(shè)置保護(hù)措施,且至少有create、delete、open、close、read、write等命令。二、 實(shí)驗(yàn)題目:采用二級(jí)目錄結(jié)構(gòu)實(shí)現(xiàn)磁盤文件操作。要求:1普通文件的目錄項(xiàng)包括文件名,文件類型,文件長度,指向文件內(nèi)容的指針內(nèi)容。2目錄文件的目錄項(xiàng)包括目錄名,指向下一級(jí)目錄塊的指針內(nèi)容。假定每個(gè)目錄文件最多只能占用一個(gè)塊;3程序

2、功能方面的要求: 需要實(shí)現(xiàn)一個(gè)命令行操作界面,包含如下命令: 4程序?qū)崿F(xiàn)方面的要求: (1)、對(duì)于重名(創(chuàng)建時(shí)),文件不存在(刪除時(shí)),目錄不存在(改變目錄時(shí))等錯(cuò)誤操作情況,程序應(yīng)該做出相應(yīng)處理并給出錯(cuò)誤信息,但是程序不得因此而退出。 (2)、界面友好,程序強(qiáng)壯。 (3)、設(shè)置界面的提示符,提示的命令以及調(diào)試的方法應(yīng)和前面的要求一致。不要自己設(shè)計(jì)命令或者附加不要求的功能。 三.實(shí)驗(yàn)源程序文件名: Filesystem_s.cpp 執(zhí)行文件名: Project1.exe 四.實(shí)驗(yàn)分析1)總論:該系統(tǒng)是一個(gè)多用戶、多任務(wù)的實(shí)時(shí)操作系統(tǒng)。對(duì)用戶和用戶的文件數(shù)目并沒有上限。也就是說該系統(tǒng)允許任何用戶

3、申請(qǐng)空間,而且在其目錄下的文件數(shù)目并不做任何的限制。該系統(tǒng)的操作命令如下:、 bye-用戶注銷命令。當(dāng)使用該命令時(shí),用戶退出系統(tǒng)。命令格式:runbye系統(tǒng)注銷該用戶并回到登陸界面。 、 close-刪除用戶注冊(cè)信息命令。執(zhí)行該命令后,用戶在系統(tǒng)中的所有信息,包括該用戶目錄下的所有文件都被刪除。命令格式:runclose.完成后返回登陸界面。、 create-在當(dāng)前目錄下創(chuàng)建一個(gè)文件,且該文件不能跟系統(tǒng)中的文件重名。該文件的管理信息登錄到用戶文件信息管理模塊中。命令格式:runcreatefile1。其中file1為要?jiǎng)?chuàng)建的文件名稱。執(zhí)行完該命令后回到執(zhí)行命令行。、 delete-刪除當(dāng)前用戶

4、目錄下的一個(gè)文件。命令格式:rundeletefile1。返回命令行。、 list-顯示當(dāng)前注冊(cè)目錄下的所有文件信息,包括文件名、文件長度、文件操作權(quán)限。命令格式:runlist。、 chmod-改變某個(gè)文件的執(zhí)行權(quán)限,但前提是該文件是該用戶目錄下的文件。命令格式:runchmodfile1。、 open-在window界面下打開某個(gè)文件。命令格:runopenfile1。執(zhí)行該命令后,文件file1將用在windows界面下的文件形式打開。用戶可以在這個(gè)方式中對(duì)文件進(jìn)行修改,并將修改后的內(nèi)容保存。、 read-讀文件信息。將文件信息讀入并顯示在終端。命令格式:runreadfile1。、 w

5、rite-向某個(gè)文件寫入新的信息。用戶可以選擇用覆蓋原來內(nèi)容的方式和在文件的末尾插入新信息的方式寫入信息。 2)_系統(tǒng)采用二級(jí)文件目錄。設(shè)置主目錄(MFD)和用戶文件目錄(UFD),分別以文件的方式保存在磁盤中。在主目錄中又注冊(cè)用戶的用戶名和另一標(biāo)志該用戶目錄下是否有文件的指針標(biāo)記。用戶文件目錄用用戶名作為文件名保存在磁盤,以便檢索時(shí)方便對(duì)應(yīng)。在用戶文件目錄中保存著該目錄下所有的文件的文件名稱、保護(hù)碼、文件長度。3) 該系統(tǒng)大量使用高級(jí)語言中的文件操作函數(shù),所以能實(shí)際看到文件的創(chuàng)建寫入、讀出、刪除等效果。4) 實(shí)驗(yàn)流程圖開始選項(xiàng)用戶登錄新用戶注冊(cè)退出程序結(jié)束在MFD中找到該用戶?初始化命令關(guān)鍵

6、字(keyword)顯示該用戶目錄下的所有文件管理信息11創(chuàng)建文件刪除文件打開文件讀文件寫文件改變權(quán)限顯示文件保存當(dāng)前主目錄刪除用戶返回主界面輸入命令5)源程序: #include#include#include#include#include conio.h#include#define NULL 0#define keynum 10#define getspace(type) (type*)malloc(sizeof(type)char cmd64; /存放用戶輸入命令char buffer36;/char user32;/存放當(dāng)前登陸的用戶名typedef char ALFA12;ALF

7、A KWORDkeynum;struct UFD/用戶文件管理模塊char filename32; /文件名int safecode; /文件保護(hù)碼long length; /文件長度*curfile = NULL;struct MFD/用戶登陸信息管理模塊char username32; /用戶名bool filepoint; /用戶目錄下的文件指針,false表示目錄為空*curuser = NULL,*elseuser=NULL;typedef UFD UFD;typedef MFD MFD;void main();void KeyWord()/初始化命令關(guān)鍵字strcpy(KWORD

8、1,bye); strcpy(KWORD 2,chmod);strcpy(KWORD 3,close);strcpy(KWORD 4,create); strcpy(KWORD 5,delete);strcpy(KWORD 6,list); strcpy(KWORD 7,open); strcpy(KWORD 8,read); strcpy(KWORD 9,write);int LoginDisplay() /登陸選項(xiàng)操作函數(shù)int SELETE_1 = 0;do cout *請(qǐng)選擇操作*n1、用戶登陸 2、用戶注冊(cè) 0、退出SELETE_1;while(SELETE_12);system(c

9、ls);return SELETE_1;bool Login(int SELETE)/用戶登陸,注冊(cè)函數(shù)FILE *fp,*fp1,*fp2;char name12;switch(SELETE)case 1:/用戶登陸if(fp = fopen(LOGIN.exe,rb) = NULL)/打開用戶注冊(cè)目錄管理文件coutn錯(cuò)誤:不能打開登陸文件。endl;getch();system(cls);return false;curuser = getspace(MFD);coutname; /輸入用戶登陸名while(!feof(fp) /檢查該用戶是否合法fread(curuser,sizeof

10、(MFD),1,fp);if(strcmp(curuser-username,name)=0)break;if(feof(fp) /如果沒有找到跟當(dāng)前登陸用戶名相同的管理信息,提示出錯(cuò)coutn錯(cuò)誤:該用戶不存在。endl; fclose(fp); return false;elsefclose(fp);return true;break;case 2: /新用戶注冊(cè)if(fp=fopen(LOGIN.exe,ab)=NULL)/如果登陸信息管理文件不存在fp=fopen(LOGIN.exe,wb+); /創(chuàng)建該信息管理文件char name12;curuser = getspace(MFD)

11、;while(1)coutn *新用戶注冊(cè)*endl;coutname; /輸入用戶注冊(cè)名fp1 = fopen(LOGIN.exe,rb);while(!feof(fp1)/查看該用戶名是否被別的用戶占用fread(curuser,sizeof(MFD),1,fp1);if(strcmp(curuser-username,name) = 0)/該名稱已經(jīng)被使用coutn該用戶已經(jīng)存在,請(qǐng)重新輸入!username,name); curuser-filepoint = NULL; fwrite(curuser,sizeof(MFD),1,fp);strcpy(user,curuser-user

12、name);/生成用戶文件管理模塊strcat(user,.exe); /用于管理用戶目錄下的各個(gè)文件fp2=fopen(user,wb+);fclose(fp2); coutn注冊(cè)成功!endl; /提示注冊(cè)成功fclose(fp1); fclose(fp);break;fp = fopen(LOGIN.exe,rb); /顯示當(dāng)前注冊(cè)用戶的名稱while(1)fread(curuser,sizeof(MFD),1,fp);if(feof(fp)break;coutusernamefilepoint = false)/當(dāng)前用戶目錄下沒有任何文件存在coutn用戶 username 文件夾是空

13、的username);strcat(filename,.exe);if(fp=fopen(filename,rb)=NULL)/打開用戶文件信息管理模塊coutn無法打開用戶:username 的文件!endl;getch();return;else/讀入并將用戶全部文件信息打印在終端cout用戶:username目錄下的文件:endl;UFD *ufd;int i=0;ufd = getspace(UFD); /申請(qǐng)存放用戶文件模塊的空間while(1)fread(ufd,sizeof(UFD),1,fp);if(feof(fp)/全部輸出完畢,結(jié)束break;else/打印信息coutfi

14、lenametlengthtsafecodeendl;fclose(fp);void ByeFile(bool BOOL)/注銷函數(shù),調(diào)用次函數(shù)用戶可以退出系統(tǒng)FILE *infile,*outfile;char out50;strcpy(out,outfilelocate.exe);if(infile=fopen(LOGIN.exe,rb)=NULL)coutn保存錯(cuò)誤。;/fclose(infile);return;elseif(outfile=fopen(out,wb+)=NULL)/申請(qǐng)一個(gè)緩沖區(qū)管理模塊/存放用戶更新后的全部信息coutusername,curuser-usernam

15、e)=0)if(BOOL)/更新當(dāng)前用戶信息的操作fwrite(curuser,sizeof(MFD),1,outfile);else continue;/如果用戶想把自己的注冊(cè)目錄從系統(tǒng)中徹底刪除/則執(zhí)行該操作elsefwrite(mfd,sizeof(MFD),1,outfile);/寫入新的模塊fclose(infile);fclose(outfile);remove(LOGIN.exe);/將舊的該用戶的文件管理模塊刪除rename(out,LOGIN.exe);/將新的用戶的文件管理模塊重命名為用戶目錄下的管理模塊system(cls);main();bool ClearUserFi

16、le()/用戶要將自己的注冊(cè)目錄從系統(tǒng)徹底刪除/首先將該用戶目錄下的全部文件刪除FILE *fp;char file50;strcpy(file,curuser-username);strcat(file,.exe);if(fp=fopen(file,rb)=NULL) /打開用戶文件信息管理模塊/fclose(fp);coutfilename);/刪除文件fclose(fp);return true;void ClearUserMes()/刪除用戶全部信息char name50;strcpy(name,curuser-username);strcat(name,.exe);remove(na

17、me); /從磁盤中刪除用戶文件信息管理模塊ByeFile(false);/更新系統(tǒng)的用戶登陸信息管理模塊void DeleteUser()/刪除用戶注冊(cè)目錄的操作char ch;coutn該操作將會(huì)是你在系統(tǒng)所有信息刪除,下次登陸時(shí)你必須重新申請(qǐng)用戶名!endl;coutn你確定要?jiǎng)h除你在系統(tǒng)中的注冊(cè)信息嗎?Y/Nch;switch(ch)/提示用戶確認(rèn)刪除case Y:case y:if(ClearUserFile()/如果用戶的全部文件已經(jīng)刪除了/則可以將該用戶的文件信息管理模塊也從磁盤中刪除/以免在沒完全刪除文件卻刪了該文件信息管理模塊/使得這些文件無法再進(jìn)行管理造成磁盤空間的浪費(fèi)Cl

18、earUserMes();/刪除文件信息管理模塊break;default:coutfilepoint=true;if(fp=fopen(buffer,r)=NULL)/如果沒有跟用戶輸入文件名相同的文件 if(fp=fopen(buffer,w)=NULL) coutn創(chuàng)建文件失??!;/fclose(fp); return;fclose(fp);else/用戶要?jiǎng)?chuàng)建的文件已經(jīng)存在coutch;switch(ch)case Y:case y:coutbuffer;strcat(buffer,.txt);fclose(fp); if(fp=fopen(buffer,w)=NULL) coutus

19、ername);strcat(user,.exe);curfile = getspace(UFD);strcpy(curfile-filename,buffer);/文件名curfile-length=0; /該文件長度為零curfile-safecode=30; /設(shè)置該文件的默認(rèn)權(quán)限 /11 00,文件主有讀和寫權(quán),其他用戶沒有讀寫權(quán)if(fp=fopen(user,ab)=NULL)coutn錯(cuò)誤:你可能不是合法用戶。endl;getch();elsefwrite(curfile,sizeof(UFD),1,fp);/將該文件信息寫入用戶文件信息管理模塊中coutn文件 filename

20、 創(chuàng)建成功!;fclose(fp);void DeleteFile()/刪除當(dāng)前目錄下一個(gè)文件的操作char ch;FILE *infile,*outfile;coutn確定要?jiǎng)h除文件:buffer Y/Nch;/提示用戶確認(rèn)刪除switch(ch)case Y:case y:/更新用戶文件信息管理模塊,這里同樣使用緩沖區(qū)模塊來更新 /方法與上面將到的類似char out50,in50; strcpy(out,outfilelocate.exe);strcpy(in,curuser-username);strcat(in,.exe); if(infile=fopen(in,rb)=NULL)/

21、打開該用戶的文件信息管理模塊 coutn保存錯(cuò)誤。; /fclose(infile);return; else if(outfile=fopen(out,wb+)=NULL) coutfilename,buffer)=0)/要進(jìn)行更新的信息continue; else fwrite(ufd,sizeof(UFD),1,outfile);/寫入新模塊 fclose(infile);fclose(outfile); remove(in);/在磁盤移除就模塊 rename(out,in);/新模塊命名為當(dāng)前用戶文件信息管理模塊remove(buffer);/從磁盤中刪除該文件break;defaul

22、t:break;void ListAllFile()/顯示當(dāng)前用戶目錄下的文件信息DisplayUFD();void OpenFile()/在window模式下打開該文件system(buffer);/buffer為文件名,如:file1.txtbool QueryModElse(bool BOOL,bool &flag)/查詢其它用戶目錄下文件的文件/當(dāng)該文件的權(quán)限允許當(dāng)前用戶對(duì)其執(zhí)行有關(guān)操作時(shí),返回tureFILE *fp;char user50;UFD *ufd = getspace(UFD);/elseuser表示除當(dāng)前用戶外的所有用戶注冊(cè)目錄strcpy(user,elseuser-

23、username);strcat(user,.exe);if(fp=fopen(user,rb)=NULL)/打開一個(gè)其它的用戶文件信息管理模塊/fclose(fp);coutfilename,buffer)=0)if(BOOL)/該用戶請(qǐng)求寫該文件if(ufd-safecode= 31 | ufd-safecode= 33)/1101、1111最后一位為1,有寫權(quán)return true;elsecoutn你無權(quán)對(duì)文件 buffersafecode = 32 | ufd-safecode = 33)/1110、1111倒數(shù)第二位為1,有讀權(quán)return true;elsecoutn你無權(quán)對(duì)文件

24、 bufferusername);strcat(user,.exe);if(fp=fopen(user,rb)=NULL)/打開用戶文件信息管理模塊/fclose(fp);coutfilename,buffer)=0)/在當(dāng)前用戶注冊(cè)目錄下/找到該文件,返回真值fclose(fp);return true;bool WriteRight(int len,bool BOOL)/查看是否已經(jīng)正確地寫入到該文件信息中/是則返回真值char user50,outfile50;FILE *fp,*fp1;strcpy(user,elseuser-username);strcat(user,.exe);i

25、f(fp=fopen(user,rb)=NULL)return false;elseUFD *ufd = getspace(UFD);while(1)/在此用戶目錄下查找匹配文件fread(ufd,sizeof(UFD),1,fp);if(feof(fp)fclose(fp);return false;if(strcmp(ufd-filename,buffer)=0)/找到要寫入新的長度的文件strcpy(outfile,outfilelocate.exe);if(fp1=fopen(outfile,wb+)=NULL)coutfilename,buffer)=0)/找到匹配的文件if(BOO

26、L) ufd-length+=len; /在文件末追加內(nèi)容的操作else ufd-length =len; /覆蓋原文件內(nèi)容fwrite(ufd,sizeof(UFD),1,fp1);fclose(fp);fclose(fp1);remove(user);rename(outfile,user);return true;void WriteLengthToFile(int Len,bool BOOL)/將文件長度寫入文件管理模塊中/因?yàn)楫?dāng)前用戶可以對(duì)其它用戶的文件進(jìn)行操作(只要權(quán)限允許)/所以應(yīng)該在整個(gè)文件系統(tǒng)目錄下查找該文件的位置FILE *fp;if(fp=fopen(LOGIN.exe,

27、rb)=NULL)/不能打開文件coutn寫入文件長度錯(cuò)誤_1!;/fclose(fp);return;elseelseuser = getspace(MFD);while(1)fread(elseuser,sizeof(MFD),1,fp);if(feof(fp)break;elseif(WriteRight(Len,BOOL)/查看是否已經(jīng)正確地寫入到該文件信息中fclose(fp);return;coutn寫入文件長度錯(cuò)誤_2!;fclose(fp);return;void WriteFile()/向文件寫入信息的操作if(!QueryMod(true)/查詢當(dāng)前用戶對(duì)該文件是否有寫權(quán)r

28、eturn;/對(duì)該文件沒有寫權(quán)則返回char ch;int i=0;FILE *fp;if(fp=fopen(buffer,r)=NULL)/查詢?cè)撐募欠翊嬖赾outn該文件不存在,請(qǐng)創(chuàng)建該文件后再寫入。;/fclose(fp);return;fclose(fp);coutn請(qǐng)選擇寫入方式:endl;cout 1、覆蓋原文件 2、在原文件末尾寫入 3、取消ch;cout開始輸入正文:endl;switch(ch)case 1:/覆蓋原文件if(fp=fopen(buffer,w)=NULL)coutn文件打開失敗。;elsech=getchar();while(ch!=#)/將新的文件內(nèi)容寫

29、入到文件的磁盤位置中i+;fputc(ch,fp);ch=getchar();fclose(fp);WriteLengthToFile(i,false);/將文件長度寫入文件管理模塊break;case 2:if(fp=fopen(buffer,a)=NULL)coutn文件打開失敗。;elsech=getchar();while(ch!=#)/將新的文件內(nèi)容寫入到文件的磁盤位置中i+;fputc(ch,fp);ch=getchar();fclose(fp);WriteLengthToFile(i,true);/將文件長度寫入文件管理模塊break;default:break;void Rea

30、dFile()/讀文件函數(shù)if(!QueryMod(false)/查詢當(dāng)前用戶是否有權(quán)讀該文件return;/沒有讀權(quán),則返回FILE *fp;if(fp=fopen(buffer,r)=NULL)/打開該文件coutbuffer;coutn該文件不存在。;return;elsechar ch;ch=fgetc(fp);while(ch!=EOF)/將該文件信息逐一輸出到終端putchar(ch);ch=fgetc(fp);coutusername);strcat(in,.exe);strcpy(out,outfilelocate.exe);if(fp=fopen(in,rb)=NULL)/f

31、close(fp);coutn操作出現(xiàn)錯(cuò)誤,對(duì)此我們表示歉意!;return;elsewhile(1)/查看該文件是否在當(dāng)前用戶的注冊(cè)目錄下/任何用戶無權(quán)修改不是自己目錄下的文件的權(quán)限值fread(ufd,sizeof(UFD),1,fp);if(feof(fp)/在當(dāng)前目錄下找不到該文件,說明該用戶無權(quán)修改該文件權(quán)限coutn你沒有權(quán)限對(duì)文件 bufferfilename,buffer)=0)/找到該文件,繼續(xù)操作fclose(fp);break;bool flag1=true;while(flag1) coutn輸入文件 buffermod;/輸入權(quán)限值if(mod33)/確保輸入的權(quán)限值

32、正確coutn錯(cuò)誤:權(quán)限值必須在3033之間;continue;elsechar ch;switch(mod)/告訴用戶對(duì)該文件權(quán)限修改的結(jié)果,以便用戶確認(rèn)case 30:coutn當(dāng)前權(quán)限設(shè)置:其他用戶對(duì)buffer既沒讀權(quán)也沒寫權(quán)!;break;case 31:coutn當(dāng)前權(quán)限設(shè)置:其他用戶對(duì)buffer沒讀權(quán)但有寫權(quán)!;break;case 32:coutn當(dāng)前權(quán)限設(shè)置:其他用戶對(duì)buffer有讀權(quán)但沒寫權(quán)!;break;case 33:coutn當(dāng)前權(quán)限設(shè)置:其他用戶對(duì)buffer既有讀權(quán)也有寫權(quán)!;break;default: break;coutch;switch(ch)case

33、 Y:case y:flag1=false;break;default: flag1=true;/更新文件信息管理模塊,相關(guān)操作類似上面,不在贅述if(infile=fopen(in,rb)=NULL)coutn操作出現(xiàn)錯(cuò)誤,對(duì)此我們表示歉意!;fclose(infile);return;elseif(outfile=fopen(out,wb+)=NULL) coutfilename,buffer)=0)ufd-safecode=mod; fwrite(ufd,sizeof(UFD),1,outfile); fclose(infile);fclose(outfile); remove(in);

34、 rename(out,in);void Execute(int i,int len,int cmdset)/執(zhí)行命令函數(shù)int j=0;for(;i|cmdi= )break;bufferj=cmdi;j+;bufferj=0;strcat(buffer,.txt);switch(cmdset)case 1: /退出ByeFile(true);break;case 2: /改變文件操作權(quán)限if(strcmp(buffer,.txt)=0)coutn輸入命令出錯(cuò)!;return;ChangeMod();break;case 3: /刪除用戶 DeleteUser();break;case 4:

35、 /創(chuàng)建文件if(strcmp(buffer,.txt)=0)coutn輸入命令出錯(cuò)!;return;CreatFile();break;case 5: /刪除文件if(strcmp(buffer,.txt)=0)coutn輸入命令出錯(cuò)!;return;DeleteFile();break;case 6: /列出該用戶所有文件清單ListAllFile();break;case 7: /打開文件if(strcmp(buffer,.txt)=0)coutn輸入命令出錯(cuò)!;return;OpenFile();break;case 8: /讀文件if(strcmp(buffer,.txt)=0)co

36、utn輸入命令出錯(cuò)!;return;ReadFile();break;case 9: /寫文件if(strcmp(buffer,.txt)=0)coutn輸入命令出錯(cuò)!;return;WriteFile();break;default:break;void Command()/讀取用戶輸入的命令,并將其轉(zhuǎn)換成系統(tǒng)能識(shí)別的命令int len = 0,i,j;int cmdset;while(1)cmdset = 0;coutcmd;len = strlen(cmd);i=0;j=0;while(cmdi=|cmdi= )i+;/過濾空格鍵和for(;i | cmdi= | i=len-1)if(

37、cmdi= | cmdi= )bufferj = 0;elseif(i=len-1) bufferj=cmdi; bufferj+1=0;i+;j=0;int low=1,mid,high=keynum-1;bool BOOL = false; while(low=high)/找到該命令關(guān)鍵字的內(nèi)部識(shí)別碼mid=(low+high)/2;if (strcmp(buffer,KWORDmid)=0) low=mid+1;if(strcmp(buffer,KWORDmid)=0) BOOL = true; break;if(!BOOL)coutnbuffer|cmdi= )i+;/過濾空格鍵和bu

38、ffer0=0;Execute(i,len,cmdset); /執(zhí)行該命令void main()while(1) int SELETE = LoginDisplay();if(SELETE=0)exit(0); bool BOOL = Login(SELETE);/用戶登陸,或者注冊(cè)函數(shù) if(BOOL) KeyWord(); /初始化命令關(guān)鍵字 DisplayUFD();/打印用戶目錄下的文件 Command(); /命令行操作五.調(diào)試結(jié)果: 1)系統(tǒng)界面如下: 2)創(chuàng)建新用戶:如果你以前還沒有注冊(cè),則可以先選擇2,創(chuàng)建一個(gè)用戶. 3)創(chuàng)建用戶后,可以用createxiao命令建立一個(gè)名為xiao的text文件.并可以用list查看文件的信息(xiao.txt是文件名,0表示文件當(dāng)前的長度為0,30用二進(jìn)制表示為1100,表示當(dāng)前用戶有讀

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!