C语言实现遍历文件夹

本文介绍了一个使用C语言编写的程序,该程序能够递归地搜索指定目录下的所有文件,并打印出文件名。通过调用Windows API函数FindFirstFile和FindNextFile实现文件查找功能,同时能够进入子目录继续搜索。
摘要由CSDN通过智能技术生成

 

#include "stdio.h"
#include "windows.h"
void find(char * lpPath)
{
char szFind[MAX_PATH],szFile[MAX_PATH];
WIN32_FIND_DATA FindFileData;
strcpy(szFind,lpPath);
strcat(szFind,"//*.*");HANDLE hFind=::FindFirstFile(szFind,&FindFileData);
if(INVALID_HANDLE_VALUE == hFind)
return;
while(TRUE)
{
if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
     if(FindFileData.cFileName[0]!='.')
     {
        strcpy(szFile,lpPath);
        strcat(szFile,"//");
        strcat(szFile,FindFileData.cFileName);
        find(szFile);
     }
}
else
{
     printf("%s/n",FindFileData.cFileName);
}
if(!FindNextFile(hFind,&FindFileData))
     break;
}
}
void main()
{
char filepath[MAX_PATH]="E://我的文件夹//测试文件夹";
find(filepath);
}    
 
if(strstr(f.ff_name,".EXE")!=NULL)   /*输出后缀名是EXE的可执行文件,去掉此条语句,输出所有后缀名文件*/
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值