【编程】C语言递归遍历文件夹

本文详细介绍了如何使用C语言编写程序,实现对指定文件夹的递归遍历,包括遍历子文件夹及其包含的所有文件,是C语言初学者了解文件系统操作的好材料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <cstring>        // for strcpy(), strcat()
#include <io.h>
#include<stdio.h>
#define Max 100000//文件数量
int FileSearch(const char *dir);
int Write(void);
int i = -1;
typedef struct Data{
unsigned long size;
char dir[500];
}Data;
Data data[Max];
int main(void)
{
char *dir = "G:\\高清电影";//要读取的初始路径
FileSearch(dir);
printf( "Total files is %d\n\n", i+1);
Write();
printf("done!\n");
return 0;
}
int Write(void)//将获得的目录栈写到本地文件
{
FILE*fp;
if ((fp = fopen("dir.txt", "w")) == NULL)
return -1;
fprintf(fp,"Total files is %d\n\n", i+1);
while (i > -1)
{
fprintf(fp, "%s\t%ld\n", data[i].dir, data[i].size);
i--;
}
fclose(fp);
}


int FileSearch(const char *dir)//递归遍历当前目录下的所有文件
{
long handle;
_finddata_t findData;
char dirNew[500];
strcpy(dirNew, dir);
strcat(dirNew, "\\*.*");
if ((handle = _findfirst(dirNew, &findData)) == -1L)
{
printf
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值