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的操作流程
  • 热门搜索
    内外网同时上怎么设置 下面瘙痒怎么办 qq怎么邀请好友进群 乐心手环怎么调时间 茵茵纸尿裤怎么样 老年人便秘怎么办 福特锐界怎么样 手麻脚麻是怎么回事 脖子睡落枕了怎么办 玻璃上的胶怎么去除