c语言遍历d盘下有多少个文件?
发布网友
发布时间:2022-04-26 15:19
我来回答
共1个回答
热心网友
时间:2023-10-11 10:56
windows系统,代码举例如下:
include <windows.h>
#include <stdio.h>
#include <io.h>
void func(const char *dir, int *dirs, int *files)
{
_finddata_t fi;
char fname[MAX_PATH];
strcpy(fname, dir);
strcat(fname, "\\*.*");
int handle = _findfirst(fname, &fi);
if (handle > 0)
{
do
{
if (fi.attrib & 0x10) // 是子目录
{
(*dirs)++;
if (!strcmp(fi.name, ".") || !strcmp(fi.name, "..")) continue; //特殊目录处理
sprintf(fname, "%s\\%s", dir, fi.name);// 生成新路径存于fname
func(fname, dirs, files); // 递归调用
}
else (*files)++;
} while (!_findnext(handle, &fi));
}
_findclose(handle);
}
int main()
{
int dirs = 0, files = 0;
func("D:\\", &dirs, &files);
printf("%d 个目录,%d 个文件\n", dirs, files);
return 0;
}追问有简单一点的么
追答水平有限,等高手吧