C++递归遍历文件夹内的所有文件夹与文件(附完整源码)

       C++程序有时需要遍历某个文件夹中的所有文件夹及文件,要处理文件夹中的所有文件,如果文件夹中包含子文件夹时则需要递归遍历(函数递归调用去实现)。

       下面给出调用API函数FindFirstFile和FindNextFile实现文件夹中所有文件的遍历,去计算文件夹中所有文件的大小,实现思路是:

1)先在根路径中遍历,如果是文件,则直接获取文件大小;
2)如果是文件夹,则递归调用当前函数。
3)直到遍历完当前文件夹中的所有文件为止。

相关代码如下:

// 计算文件夹的大小(文件夹中所有文件的大小),注意调用前请将n64FileSzie清零
BOOL CalcFileFolderSize( const CString& strFileDir, __int64& n64FileSzie )
{
	CString  strFindFileName = strFileDir + _T("\\*.*");
	WIN32_FIND_DATA wfd;
	HANDLE hFindFile = FindFirstFile( strFindFileName, &wfd ); 
	if ( hFindFile == INV
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dvlinker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值