1. 程式人生 > >遍歷資料夾下所有檔案

遍歷資料夾下所有檔案

 void getFiles( string path, vector<string>& files, vector<string> &ownname)  
 {  
     /*files儲存檔案的路徑及名稱(eg.   C:\Users\WUQP\Desktop\test_devided\data1.txt)
      ownname只儲存檔案的名稱(eg.     data1.txt)*/
     
     //檔案控制代碼  
     long   hFile   =   0;  
     //檔案資訊  
     struct _finddata_t fileinfo;  
     string p;  
     if((hFile = _findfirst(p.assign(path).append("\\*").c_str(),&fileinfo)) !=  -1)  
     {  
         do  
         {  
             //如果是目錄,迭代之  
             //如果不是,加入列表  
            if((fileinfo.attrib &  _A_SUBDIR))  
            {  /*
                 if(strcmp(fileinfo.name,".") != 0  &&  strcmp(fileinfo.name,"..") != 0)  
                     getFiles( p.assign(path).append("\\").append(fileinfo.name), files, ownname ); */ 
             }  
             else  
             {  
                 files.push_back(p.assign(path).append("\\").append(fileinfo.name) );  
                 ownname.push_back(fileinfo.name);
             }  
         }while(_findnext(hFile, &fileinfo)  == 0);  
        _findclose(hFile);  
     }  
 }