boost::filesystem的文件遍历

boost::filesystem的文件遍历

 

#include  " boost/filesystem/operations.hpp "
#include 
" boost/filesystem/path.hpp "
#include 
< iostream >
using   namespace  std;
namespace  fs  =  boost::filesystem;

void  PrintAllFile(fs::path  & full_path);



int  main(  int  argc,  char *  argv[] )
{

    fs::path full_path( 
"D:\\" ,fs::native);
    PrintAllFile(full_path);
}

void  PrintAllFile(fs::path  & full_path)
{
 
if(fs::exists(full_path))
 
{
  fs::directory_iterator item_begin(full_path);
  fs::directory_iterator item_end;
  
for( ;item_begin  != item_end; item_begin++)
  
{
   
   
if(fs::is_directory(*item_begin))
   
{
    cout 
<<item_begin->native_file_string()<<"\t[dir]"<<endl;
    PrintAllFile(
*item_begin);
   }

   
else
   
{
    cout 
<<item_begin->native_file_string()<<endl;
   }

  }

 }

}


你可能感兴趣的:(String,File,Path)