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

 时间:2024-10-26 07:06:08

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 fileif(file->d_type==DT_REG){cout<<dirName+file->d_name<<endl;}//if the file is a directoryelse 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 函数中穿参数到函数GetFileInDirGetFileInDir(dir, filename)然后再GetFileInDir 函数中多加一个文件是否找到的判断GetFileInDir

  • eclipse输出乱码
  • 如何安装和配置java环境,让电脑支持java运行
  • 将VSCode设置成中文语言环境
  • idea新建maven项目后怎么生成web.xml
  • 从oracle官网下载JavaMail所需jar的操作流程
  • 热门搜索
    小学生手抄报制作技巧入门 五一劳动节的手抄报 致敬抗疫英雄手抄报 爱国主义教育手抄报 禁毒手抄报内容资料 优秀手抄报 关于中国梦的手抄报 重阳节的手抄报简单又漂亮 环保手抄报内容资料 关于三八妇女节的手抄报