首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

如何获取一个路径下子文件夹的个数啊求解

2012-03-06 
怎么获取一个路径下子文件夹的个数啊?求解int num 0CFileFind findCString temp tempD:\\testtem

怎么获取一个路径下子文件夹的个数啊?求解
int num = 0;
CFileFind find;
CString temp ;
temp="D:\\test";
temp.Append("\\*.*");
BOOL working = find.FindFile(temp);
while (working)
{
working = finder.FindNextFile();
if (finder.IsDots())
continue;
if (finder.IsDirectory())
num++;
}
是不是这样写的啊?
但是结果不对啊?一直为1

[解决办法]

C/C++ code
#include <stdio.h>#include <tchar.h>WIN32_FIND_DATA wfd;TCHAR szDir[MAX_PATH] = TEXT("D:\\ccrun\\"); // 要查询的目录TCHAR szFile[MAX_PATH] = TEXT("");_tcscpy(szFile, szDir);_tcscat(szFile, TEXT("*.*"));HANDLE hFind = ::FindFirstFile(szFile, &wfd);int nSubDirCount = 0;if (INVALID_HANDLE_VALUE != hFind){    do    {        if (!_tcscmp(wfd.cFileName, TEXT(".")) || !_tcscmp(wfd.cFileName, TEXT("..")))            continue;        // 如果是子目录就计数        if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)            nSubDirCount++;    } while (::FindNextFile(hFind, &wfd));}::FindClose(hFind);// 最后结果存储在 nSubDirCount 中 

热点排行