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的操作流程
  • 热门搜索
    旅游服务贸易 南京周边旅游 芬兰旅游 本溪旅游攻略 巴西旅游 绵山旅游攻略 蚌埠旅游 奥地利旅游 云南旅游社 澳门旅游学院