读书人

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

发布时间: 2012-03-06 20:47:55 作者: rapoo

怎么获取一个路径下子文件夹的个数啊?求解
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 中 

读书人网 >C++ Builder

热点推荐