资源描述:
《通用子目录文件显示方法的论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、通用子目录文件显示方法的论文findfirst和findnext采用递归算法实现的。子目录和子目录文件的属性是根据属性字来判断。属性字格式如下图所示:-----------------
2、7
3、6
4、5
5、4
6、3
7、2
8、1
9、0
10、-----------------第0位(只读位):取1表示只读第1位(隐含位):取1表示隐含第2位(系统位):取1表示系统第3位(卷标位):取1表示卷标第4位(子目录位):取1表示子目录第5位(归档位):取1表示归档第6、7位:保留未用在子目录及出错。作用chkdska:,系统提示:cannotchdirto
11、a:temp,treepastthispointnotprocessed使用本程序,运行结果认为temp为一文件,其属性为hsrald,表示这是一个子目录,可据此推猜其为一加密子目录,可进一步用norton工具软件解密。三、实现实例实例是在386兼容机、borlandc++3.1集成环境和dos6.0操作系统支持下调试通过,实现源程序附后。需要指出的不足是,由于finclude<dos.h>#include<dir.h>#include<ctype.h>#include<strin
12、g.h>#include<io.h>#defineesc27#definectrl_break3#definepage_number22voiddiroperate(void);voidadd_attrib(structffblk);voidfull_screen_operate(void);chardriver[maxdrive]="",dir[maxdir]="";charfile[maxfile]="",ext[maxext]=""charcurdriver,curdir[maxdir];charol
13、ddriver,olddir[maxdir],axdir];charfn[13]="*.*";intpage_sum=0,dir_sum=0,file_sum=0;charbuffer[80*25];char*buffer_pointer=buffer;charctrl_bresk_flag;charattrib[7]="";main(intargc,char*argv[]){curdriver=getdisk();getcaxdir);driver[0]=curdriver+`a';if(argc>2){printf
14、("toomuchparameters!");exit(0)}if(argc==2){fnsplit(argv)[1],driver,dir,file,ext);if(strcpy(file)!=0){strcpy(file,exr,13);strcpy(fnfile);};if(strlen(driver)!=0){setdisk(toupper(driver[0])-`a')setdisk(toupper(drive[0])-`a')getcaxdir);strcpy(-1==0)printf("nosub_dire
15、ctories.")elseprintf("%ddirectories.",dir_sum-1)if(file_sum==0)printf("nofiles.")elseprintf("%dfiles.",file_sum);if(strlen(driver)!=0){chdir(olddir);};setdisk(curdriver);chdir(curdir);return(0);}voiddir_operate(void){structffblkdirment;intdone,p,byte_num;un
16、signedintyear,month,date,hourminute;charpath[maxdir];/*begintosearchallpossiblefiles*/done=findfirst(fn,dirment,0x2f);getcaxpath);dir_sum++;page_sum++;if(page_sum>=page_number)full_screen_operate();/*eanditsattributeintobuffer*/byte_num=sprintf(buffer_pointer,"d
17、irectory%s",path);buffer_poiner+=byte_unm;byte_unm=sprintf(buffer_pointer,"%6s",attrib);buffer_pointer+=byte_num;++;file_sum++;if(page_sum>=