首页 > 代码库 > 查找指定目录下的文件?.xml
查找指定目录下的文件?.xml
<style
type="text/css">
pre{
line-height:1;
color:#9f1d66;
background-color:#cfe4e4;
font-size:16px;}.sysFunc{color:#5d57ff;font-style:italic;font-weight:bold;}
.selfFuc{color:#8e0ed3;}
.bool{color:#008000;}
.condition{color:#008000;font-weight:bold;}
.key{color:#440080;}
.var{color:#008000;font-style:italic;}
.Digit{color:#000080;font-weight:bold;}
.includePre{color:#661d9f;}
.operator?{color:#fd1a53;font-weight:bold;}
</style>
使用CFindFile类,?此类主要是用来查找文件的,首先调用?FindFile()?函数?,来开始查找过程,然后调用FindNextFile来得到后续的文件信息等。
注意:?此类在vs控制台下不能编译成功,只能在MFC运行才可以
? ? ? MSDN中的解释为: ? Call?this?member?function?to?open?a?file?search. virtual?BOOL?FindFile( ???LPCTSTR?pstrName?=?NULL, ???DWORD?dwUnused?=?0? );
例子:
? Example? This?small?program?recurses?every?directory?on?the?C:/?drive?and?prints?the?name?of?the?directory. #include?<afxwin.h> #include?<iostream> using?namespace?std; void?Recurse(LPCTSTR?pstr) { ???CFileFind?finder; ???//?build?a?string?with?wildcards ???CString?strWildcard(pstr); ???strWildcard?+=?_T("//*.*"); ???//?start?working?for?files ???BOOL?bWorking?=?finder.FindFile(strWildcard); ???while?(bWorking) ???{ ??????bWorking?=?finder.FindNextFile(); ??????//?skip?.?and?..?files;?otherwise,?we‘d ??????//?recur?infinitely! ??????if?(finder.IsDots()) ?????????continue; ??????//?if?it‘s?a?directory,?recursively?search?it ??????if?(finder.IsDirectory()) ??????{ ?????????CString?str?=?finder.GetFilePath(); ?????????cout?<<?(LPCTSTR)?str?<<?endl; ?????????Recurse(str); ??????} ???} ???finder.Close(); } int?main() { ???if?(!AfxWinInit(GetModuleHandle(NULL),?NULL,?GetCommandLine(),?0)) ??????cout?<<?"panic!"?<<?endl; ???else ??????Recurse(_T("C:")); } ? ?
其它网络资料:
现有很多优化软件?在做删除?系统冗余文件时?会把LJ文件的名字?显示在一个列表中?供用户删除.
这就用到了遍历文件夹下所有文件的技术了.?于是就像自己写一个出来.?但以前都没接触过?所以查了下MSDN?输入?findfile尽然有这样的函数?暗喜还有代码实例?稍微改了下一点点的代码?如果再修改下?可以做成删除特定的一组文件也可以自己做一个删除系统LJ的软件?有待大家去发挥想像力了
对此函数说明如下:
Call?this?member?function?to?open?a?file?search. virtual?BOOL?FindFile( LPCTSTR?pstrName?=?NULL, DWORD?dwUnused?=?0 ); After?calling?FindFile?to?begin?the?file?search,?call?FindNextFile?to?retrieve?subsequent?files.?You?must?call?FindNextFile?at?least?once?before?calling?any?of?the?following?attribute?member?functions:
说的是此函数用于开始一个文件查找,当查找到之后,可以调用FindNextFile连续得查找一组文件
?
#include?<afxwin.h> #include?<iostream> using?namespace?std; void?Recurse(LPCTSTR?pstr) { ???CFileFind?finder; ??//?build?a?string?with?wildcards ???CString?strWildcard(pstr); ???strWildcard?+=?_T("//*.*"); ??//?start?working?for?files ??BOOL?bWorking?=?finder.FindFile(strWildcard); ??while?(bWorking) ??{ ???????bWorking?=?finder.FindNextFile(); ??????//?skip?.?and?..?files;?otherwise,?we‘d ??????//?recur?infinitely! ??????if?(finder.IsDots()) ????????continue; ???????????CString?sFileName?=?finder.GetFileName(); ??????????cout?<<?(LPCTSTR)sFileName?<<?endl;//输出查找文件夹下的所有文件名 ??} ???finder.Close(); } int?main() { ??if?(!AfxWinInit(GetModuleHandle(NULL),?NULL,?GetCommandLine(),?0))//初始化MFC ??????cout?<<?"panic!"?<<?endl; ??else ???????Recurse(_T("C:")); ????????return?0; }
本文使用?书画小说软件?发布,内容与软件无关,书画小说软件?更惬意的读、更舒心的写、更轻松的发布。
查找指定目录下的文件?.xml
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。