是否有任何函数返回目录中有多少个文件?

是遍历所有文件的唯一方法吗?

(例如,当您右键单击Windows中的目录时,它将列出:7 files in directory。是否可以提取该信息?如何“获取”该信息?)

谢谢。

最佳答案

我不知道是否有更好的方法,但是我使用FindFirstFile/FindNextFile来做到这一点(为了清楚起见,删除了一些错误检查):

WIN32_FIND_DATA ffd;
HANDLE hFind = INVALID_HANDLE_VALUE;
_TCHAR szDir[] = _T("somedir\\*");

hFind = FindFirstFile(szDir, &ffd);

do
{
    if((ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) && !(!_tcscmp(ffd.cFileName,_T(".")) || !_tcscmp(ffd.cFileName, _T(".."))))
    {
        // This is a directory
    }
}
while (FindNextFile(hFind, &ffd) != 0);

08-24 22:56