C++獲取某個文件夾下的所有文件


獲取某個文件夾下的所有文件,返回各文件的路徑加文件名

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 } 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM