标题:有关DFS算法
只看楼主
i7366
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-1-14
 问题点数:0 回复次数:0 
有关DFS算法

这个函数想要实现的是深度优先搜索算法,用于搜索WindowsXP下的每一个文件夹,把它们列举出来。
void DFSTree(CString sPath,CString sBegin)
{
if(sPath.GetLength()==1) sPath=sPath+":";

WIN32_FIND_DATA wfd;
HANDLE hFind=FindFirstFile(sPath+"\\*.*",&wfd);
BOOL bMore=TRUE;
while(hFind!=INVALID_HANDLE_VALUE&&bMore)
{
[[[[ TRACE(sBegin);
这个框内程序段有问题。
if(wfd.dwFileAttributes==FILE_ATTRIBUTE_DIRECTORY
&&CString(wfd.cFileName)!="."&&CString(wfd.cFileName)!=".."&&CString(wfd.cFileName)>sBegin)
DFSTree(sPath+"\\"+wfd.cFileName,"");
else bMore=FindNextFile(hFind,&wfd);
]]]]] }
FindClose(hFind);

if(bMore==FALSE)
{
int nPos=sPath.ReverseFind('\\');
if(nPos==-1) return;//exit.
else
{
TRACE(sBegin);
DFSTree(sPath.Left(nPos),sPath.Right(sPath.GetLength()-sPath.ReverseFind('\\')-1));
}
}
}

搜索更多相关主题的帖子: DFS sPath 算法 WindowsXP wfd 
2007-03-18 17:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-124989-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.118769 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved