会员注册 | 登录 | 微信快捷登录 QQ登录 微博登录 | 帮助中心 人人文库renrendoc.com美如初恋!
站内搜索 百度文库

热门搜索: 直缝焊接机 矿井提升机 循环球式转向器图纸 机器人手爪发展史 管道机器人dwg 动平衡试验台设计

通信学论文-通用子目录文件显示方法 .doc通信学论文-通用子目录文件显示方法 .doc -- 2 元

宽屏显示 收藏 分享

资源预览需要最新版本的Flash Player支持。
您尚未安装或版本过低,建议您

通信学论文通用子目录文件显示方法在用CHKDS/V对磁盘子目录及子目录文件进行查找时,由于输出显示信息没有分屏显示,很容易错过需要的信息,并且显示信息没有标记出隐藏的子目录名及子目录文件名,这样就对进一步的子目录及文件操作带来许多不便。若辅以管道操作采用CHKDSK/V|MORE,虽然可分屏显示,但等待输出时间过长,而且这时_Break中断被封锁,效果不尽人意。本文针对于此采用截获_Break和分屏缓冲输出技术实现子目录和子目录文件及其属性的显示。一、实现原理子目录和子目录文件的查找是通过C语言函数findfirst和findnext采用递归算法实现的。子目录和子目录文件的属性是根据属性字来判断。属性字格式如下图所示|7|6|5|4|3|2|1|0|第0位只读位取1表示只读第1位隐含位取1表示隐含第2位系统位取1表示系统第3位卷标位取1表示卷标第4位子目录位取1表示子目录第5位归档位取1表示归档第6、7位保留未用在子目录及子目录文件查找的递归调用前,保存_Break标记并封锁_Break中断,在正常结束或截获_Break中断或ESC信号后恢复_Break标记,并恢复指定驱动器的当前子目录、当前驱动器以及当前驱动器的当前子目录。在子目录和子目录文件的分屏缓冲输出显示方面,建立一输出缓冲区BUFFER8025来完成结果信息的分屏缓冲输出。二、程序功能本程序功能有分屏显示指定驱动器缺省时为当前驱动器、指定目录缺省时为当时目录中的指定文件缺省时为.及其所包含的子目录和子目录中的指定文件缺省时为.。对于子目录显示其子目录名及其属性,对于文件显示匹配的文件名、长度、建立时间及属性,最后输出匹配的文件个数及所包含的子目录个数。在查找过程中可按_Break或ESC键退出并返回当前驱动器及其当前目录,若指定驱动器不是当前驱动器则恢复指定驱动器的当前目录。下面举例说明隐藏子目录的查找。假定在驱动器A上建立子目录TEMP,用PCTOOLS或NORTON工具软件将其属性由10改为FF。这样在DOS状态下键入CDTEMP,系统会提示出错。作用CHKDSKA,系统提示CannotCHDIRtoA\TEMP,treepastthispointnotprocessed使用本程序,运行结果认为TEMP为一文件,其属性为HSRALD,表示这是一个子目录,可据此推猜其为一加密子目录,可进一步用NORTON工具软件解密。三、实现实例实例是在386兼容机、BORLANDC3.1集成环境和DOS6.0操作系统支持下调试通过,实现源程序附后。需要指出的不足是,由于findfirst与findnext是通过查找目录项区实现其功能的,所以对一些与FAT表不符的隐藏文件及子目录的方法本程序不能奏效,建议结合CHKDSK使用本程序。另外,本文采用的封锁_Break的方法适用于查找过程,但在屏幕输出过程中不能做到封锁_Break中断。若需在查、屏幕输出过程中均封锁_Break中断,可采用ctrbrk函数另建一个_Break中断服务程序。includeincludeincludeincludeincludeincludeincludedefineESC27defineCtrl_Break3definePAGE_NUMBER22voiddiroperatevoidvoidadd_attribstructffblkvoidfull_screen_operatevoidchardriverMAXDRIVE,dirMAXDIRcharfileMAXFILE,extMAXEXTcharcurdriver,curdirMAXDIRcharolddriver,olddirMAXDIR,workdirMAXDIRcharFN13.intpage_sum0,dir_sum0,file_sum0charbuffer8025charbuffer_pointerbuffercharCtrl_Bresk_flagcharattrib7mainintargc,charargv{curdrivergetdiskgetcwdcurdir,MAXDIRdriver0curdriverAifargc2{printfToomuchparameters\nexit0}ifargc2{fnsplitargv1,driver,dir,file,extifstrcpyfile0{strcpyfile,exr,13strcpyFNfile}ifstrlendriver0{setdisktoupperdriver0Asetdisktoupperdrive0Agetcwdolddir,MAXDIRstrcpyworkdir,dirverifstrlendir0ifstrlendir1strcatworkdir,dir,strlendirelsestrncatworkdir,dir,strlendir1chdirworkdir}}Ctrl_Break_flaggetcbrksetcbrk0dir_operatepustbuffersetcbrrkCtrl_Break_flagifdir_sum10printfNosub_directories.\nelseprintfddirectories.\n,dir_sum1iffile_sum0printfNofiles.\nelseprintfdfiles.\n,file_sumifstrlendriver0{chdirolddir}setdiskcurdriverchdircurdirreturn0}voiddir_operatevoid{structffblkdirmentintdone,p,byte_numunsignedintyear,month,date,hourminutecharpathMAXDIR/begintosearchallpossiblefiles/donefindfirstFN,dirment,0x2fgetcwdpath,MAXPATHdir_sumpage_sumifpage_sumPAGE_NUMBERfull_screen_operate/writeDirectorynameanditsattributeintobuffer/byte_numsprintfbuffer_pointer,Directorys,pathbuffer_poinerbyte_unmbyte_unmsprintfbuffer_pointer,6s\n,attribbuffer_pointerbyte_numwhiledone{page_sumfile_sumifpage_sumPAGE_NUMBERfull_screen_operate/writefilenameanditslength,time,attributeintobuffer/bytp_numsprintfbuffer_pointer,20s8ld,dor,emt.ff_name,dirment.ff_fsizebuffer_pointerbyte_numyeardirment.ff_fdate90x7f80monthdirment.ff_fdate50xfdatedirment.ff_fdate0x1fhourdirment.ff_ftime110x1fminutedirment.ff_ftime50x3fbyte_numsprintfbufferr_Pointer,2d02d2d,month,date,yearbuffer_pointerbyte_numifhour12{byte_numsprintfbuffer_pointer,2d02dp,hour12,minutebuffer_pointerbyte_num}else{byte_numsprintfbuffer_pointer,2d2da,hourminutebuffer_pointerbyte_num}add_attribdirmentbyte_num_sprintfbuffer_pointer,6s\n,attribbuffer_pointerbyte_num/continuetosearch/donefindnextdirment}/begintosearchallpossibleDirectories/pfindfirst.,dirment,0x37/skipDirectories.and../ifpdirment.ff_name0.{pfindnextdirmentpfindnextdirment}whilep{/ifitisdirectory,thenoperateit/ifchmoddirment.ff_name,0FA_DIREC{chdirdirment.ff_nameadd_attribdirment/skipDirectories.and../dir_operatechdir..}/continuetosearch/pfindnextdirment}}voidadd_attribstructffblkdirment/calculateattributeofthegivenfile/directory/{ifdirment.ff_attribFA_HIDDENattrib0Helse
编号:201312172113552680    大小:11.91KB    格式:DOC    上传时间:2013-12-17
  【编辑】
2
关 键 词:
生活休闲 网络生活 精品文档 通信学论
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

当前资源信息

4.0
 
(2人评价)
浏览:3次
zhaozilong上传于2013-12-17

官方联系方式

客服手机:17625900360   
2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   

相关资源

相关资源

相关搜索

生活休闲   网络生活   精品文档   通信学论  
关于我们 - 网站声明 - 网站地图 - 友情链接 - 网站客服客服 - 联系我们
copyright@ 2015-2017 人人文库网网站版权所有
苏ICP备12009002号-5