是否有任何函数返回目录中的文件数量?
是迭代所有文件的唯一方法吗?
(例如,当您右键单击Windows中的目录时,它会列出:7 files in directory
。有没有办法提取该信息?,“它”如何获取该信息?)
感谢。
答案 0 :(得分:4)
我不知道是否有更好的方法,但我使用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);
答案 1 :(得分:1)
您可以使用FindFirstFile
/ FindNextFile
Win32 API函数来遍历目录中的文件并计算其中的文件数量。在目录级别没有单一的统计信息。
Windows资源管理器在最低级别执行类似操作。