stems.cpp 764 B

12345678910111213141516171819202122232425262728293031
  1. // filesystem example stems.cpp ------------------------------------------------------//
  2. // Copyright Beman Dawes 2011
  3. // Distributed under the Boost Software License, Version 1.0.
  4. // See http://www.boost.org/LICENSE_1_0.txt
  5. // Library home page: http://www.boost.org/libs/filesystem
  6. #include <boost/filesystem.hpp>
  7. #include <iostream>
  8. int main(int argc, char* argv[])
  9. {
  10. if (argc < 2)
  11. {
  12. std::cout << "Usage: stems <path>\n";
  13. return 1;
  14. }
  15. boost::filesystem::path p(argv[1]), name(p.filename());
  16. for(;;)
  17. {
  18. std::cout << "filename " << name << " has stem " << name.stem()
  19. << " and extension " << name.extension() << "\n";
  20. if (name.stem().empty() || name.extension().empty())
  21. return 0;
  22. name = name.stem();
  23. }
  24. }