获取某个文件夹下的所有文件,返回各文件的路径加文件名

path为某文件夹的路径:eg. char * filePath = "C:\\Users\\WUQP\\Desktop\\test_devided"; 

 1 void getFiles( string path, vector<string>& files, vector<string> &ownname)  
 2 {  
 3     /*files存储文件的路径及名称(eg.   C:\Users\WUQP\Desktop\test_devided\data1.txt)
 4      ownname只存储文件的名称(eg.     data1.txt)*/
 5     
 6     //文件句柄  
 7     long   hFile   =   0;  
 8     //文件信息  
 9     struct _finddata_t fileinfo;  
10     string p;  
11     if((hFile = _findfirst(p.assign(path).append("\\*").c_str(),&fileinfo)) !=  -1)  
12     {  
13         do  
14         {  
15             //如果是目录,迭代之  
16             //如果不是,加入列表  
17             if((fileinfo.attrib &  _A_SUBDIR))  
18             {  /*
19                 if(strcmp(fileinfo.name,".") != 0  &&  strcmp(fileinfo.name,"..") != 0)  
20                     getFiles( p.assign(path).append("\\").append(fileinfo.name), files, ownname ); */ 
21             }  
22             else  
23             {  
24                 files.push_back(p.assign(path).append("\\").append(fileinfo.name) );  
25                 ownname.push_back(fileinfo.name);
26             }  
27         }while(_findnext(hFile, &fileinfo)  == 0);  
28         _findclose(hFile);  
29     }  
30 } 

 

相关文章:

  • 2021-08-24
  • 2021-08-23
  • 2021-05-17
  • 2022-12-23
  • 2021-09-06
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2018-06-27
  • 2021-06-01
相关资源
相似解决方案