2011年4月19日火曜日

boost::filesystem ディレクトリ・サーチ

boost 1.46.0 以後は、boost::filesystem version 3 がデフォルト

#include <iostream>
//#define BOOST_FILESYSTEM_VERSION 3
#include <boost/filesystem.hpp>

namespace fs = boost::filesystem;

int main(int argc, char* argv[]) {
  
  fs::directory_iterator de;
  fs::directory_iterator ds( "." );
  for( fs::directory_iterator p = ds; p != de; ++p ) {
    if( fs::is_directory( *p ) ) {
      std::cout << "D:";
    }
    std::cout << *p << std::endl;
  }
  return 0;
}
追記: https://sites.google.com/site/boostjp/tips/filesystem でOKですな… 追記:
  std::cout << (*p).path().filename() << std::endl;
  // もしくは、
  std::cout << (*p).path().filename().generic_string() << std::endl;
  // あるいは、
  std::cout << (*p).path() << std::endl;
  // などなど
  std::cout << (*p).path().c_str() << std::endl;

0 件のコメント: