c++ 读取某个文件夹下的所有文件

来源:互联网 发布:淘宝有哪些官方手办店 编辑:程序博客网 时间:2024/06/05 00:59
<pre name="code" class="cpp">char * filePath = "D:\\sample";  vector<string> files;    ////获取该路径下的所有文件  getFiles(filePath, files );    char str[30];  int size = files.size();  for (int i = 0;i < size;i++)  {      cout<<files[i].c_str()<<endl;  } 

</pre>
  1. void getFiles( string path, vector<string>& files )  
  2. {  
  3.     //文件句柄  
  4.     intptr_t hFile   =   0;  
  5.     //文件信息  
  6.     struct _finddata_t fileinfo;  
  7.     string p;  
  8.     if((hFile = _findfirst(p.assign(path).append("\\*").c_str(),&fileinfo)) !=  -1)  
  9.     {  
  10.         do  
  11.         {  
  12.             //如果是目录,迭代之  
  13.             //如果不是,加入列表  
  14.             if((fileinfo.attrib &  _A_SUBDIR))  
  15.             {  
  16.                 if(strcmp(fileinfo.name,".") != 0  &&  strcmp(fileinfo.name,"..") != 0)  
  17.                     getFiles( p.assign(path).append("\\").append(fileinfo.name), files );  
  18.             }  
  19.             else  
  20.             {  
  21.                 files.push_back(p.assign(path).append("\\").append(fileinfo.name) );  
  22.             }  
  23.         }while(_findnext(hFile, &fileinfo)  == 0);  
  24.         _findclose(hFile);  
  25.     }  
  26. }  

	
				
		
原创粉丝点击