VC中遍历文件夹

#include <windows.h>
#include <stdio.h>
#include <conio.h>

void SearchDir(char *path, FILE* fp)//注意:这个path必须以'\'结尾
{
HANDLE hFind;
WIN32_FIND_DATA wfData;
char FullPath[MAX_PATH];
char subdir[MAX_PATH];

fprintf(fp,"Directory of %s\n", path);

strcpy(FullPath,path);
strcat(FullPath,"*.*");

hFind = FindFirstFile(FullPath,&wfData);
if(hFind == INVALID_HANDLE_VALUE)
{
   fprintf(fp,"No file is found.\n");
   return;
}

do
{
   switch(wfData.dwFileAttributes)
   {
   case FILE_ATTRIBUTE_DIRECTORY://目录
    if(strcmp(wfData.cFileName,".") && strcmp(wfData.cFileName,".."))//排除当前目录和上级目录
    {
     fprintf(fp,"%s\t\t\t\t\tdirectory\n",wfData.cFileName);
     sprintf(subdir,"%s%s\\",path,wfData.cFileName);
     SearchDir(subdir,fp);//递归调用,这是遍历的基础
    }
    break;
   default:
    fprintf(fp,"\t%s\t\t\t\tfile\n",wfData.cFileName);
    break;
   }
}while(FindNextFile(hFind,&wfData));
}

void main()
{
FILE *fp;
fp = fopen("dir.txt","wt");
if(fp==NULL)
{
   printf("Unable to create output file!\npress any key to quit.\n");
   getch();
   return;
}

printf("Searching Volume C, please wait.");
SearchDir("G:\\",fp);
printf("...finished.\n");

fclose(fp);

printf("Comamnd finished successfully!\nPress any key to view output.\n");
getch();
WinExec("notepad dir.txt",SW_SHOW);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值