C++里如何从一个目录里递归查找指定的文件

 时间:2026-02-15 19:23:51

1、先完成找毙阅泥文件的函数:

void GetFileInDir(string dirName)

{

DIR *Dir=NULL;

struct dirent *file=NULL;

if(dirName[dirName.size()-1]!='/')

{

dirName+="/";

}

if((Dir=opendir(dirName.c_str()))==NULL)

{

cerr<<"Can't open Directory"<<endl;

exit(1);

}

while(file=readdir(Dir))

{

//if the file is a normal file

if(file->d_type==DT_REG)

{cout<民良<dirName+file->d_name<<endl;

}

//if the file is a directory

else if(file->d_type==DT_DIR&&strcmp(file->d_name,".")!=0&&strcmp(file->d_name,"..")!=0)

{

GetFileInDir(dirName+file->d_name);

}

}

}

2、加入main函数

相应的main 函数:

int main(int argc,char*argv[])

{

if(argc<2)

{

cerr<<"NeedDirectory"<<endl;

exit(1);

}

string dir=argv[1];

GetFileInDir(dir);

}

3、随后加入要找的文件,从main 函数中穿参数到函数GetFileInDir

GetFileInDir(dir, filename)

然后再GetFileInDir 函数中多加一个文件是否找互海到的判断

GetFileInDir

  • eclipse输出乱码
  • 如何安装和配置java环境,让电脑支持java运行
  • 将VSCode设置成中文语言环境
  • idea新建maven项目后怎么生成web.xml
  • 从oracle官网下载JavaMail所需jar的操作流程
  • 热门搜索
    手抄报传统文化 廉洁的手抄报 爱祖国手抄报资料 圣诞节英语手抄报内容 低碳生活手抄报资料 消防手抄报内容 消防知识手抄报内容 爱的手抄报图片 孝行雅行我先行手抄报 关于道德的手抄报