通用子目录文件显示方法

通用子目录文件显示方法

ID:26375595

大小:75.50 KB

页数:9页

时间:2018-11-26

通用子目录文件显示方法_第1页
通用子目录文件显示方法_第2页
通用子目录文件显示方法_第3页
通用子目录文件显示方法_第4页
通用子目录文件显示方法_第5页
资源描述:

《通用子目录文件显示方法》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

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:,系统提示:CannotCHDIRt

11、oA:TEMP,treepastthispointnotprocessed使用本程序,运行结果认为TEMP为一文件,其属性为HSRALD,表示这是一个子目录,可据此推猜其为一加密子目录,可进一步用NORTON工具软件解密。三、实现实例实例是在386兼容机、BORLANDC++3.1集成环境和DOS6.0操作系统支持下调试通过,实现源程序附后。需要指出的不足是,由于fi#include<dos.h>#include<dir.h>#include<ctype.h>#include<

12、;string.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[MAXDI

13、R];charolddriver,olddir[MAXDIR],=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();getcuchparameters!");exit(0)}if(argc==2){fnsplit(argv)[1],driver,dir,file,ex

14、t);if(strcpy(file)!=0){strcpy(file,exr,13);strcpy(FNfile);};if(strlen(driver)!=0){setdisk(toupper(driver[0])-`A')setdisk(toupper(drive[0])-`A')getc-1==0)printf("Nosub_directories.")elseprintf("%ddirectories.",dir_sum-1)if(file_sum==0)printf("Nofiles.")else

15、printf("%dfiles.",file_sum);if(strlen(driver)!=0){chdir(olddir);};setdisk(curdriver);chdir(curdir);return(0);}voiddir_operate(void){structffblkdirment;intdone,p,byte_num;unsignedintyear,month,date,hourminute;charpath[MAXDIR];/*begintosearchallpossiblefiles*/do

16、ne=findfirst(FN,dirment,0x2f);getc++;page_sum++;if(page_sum>=PAGE_NUMBER)full_screen_operate();/*eanditsattributeintobuffer*/byte_num=sprintf(buffer_pointer,"Directory%s",path);buffer_poiner+=byte_unm;byte_unm=sprintf(buffer_pointer,"%6s",attrib);buffer_poi

17、nter+=byte_num;++;file_sum++;if(page_sum>=PAGE_NUMBER)full_screen_operate();/*eanditslength,time,attributeintobuffer*/bytp_num=sprintf(buffer_pointer,"%20s%8ld",do

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。