1234567891011121314151617181920212223242526272829303132333435 |
- #include "pathinfo.h"
- #include "dirname.h"
- #include "basename.h"
- // Verbose should be removed once everythings working correctly
- #include "verbose.h"
- IGL_INLINE void igl::pathinfo(
- const std::string & path,
- std::string & dirname,
- std::string & basename,
- std::string & extension,
- std::string & filename)
- {
- dirname = igl::dirname(path);
- basename = igl::basename(path);
- std::string::reverse_iterator last_dot =
- std::find(
- basename.rbegin(),
- basename.rend(), '.');
- // Was a dot found?
- if(last_dot == basename.rend())
- {
- // filename is same as basename
- filename = basename;
- // no extension
- extension = "";
- }else
- {
- // extension is substring of basename
- extension = std::string(last_dot.base(),basename.end());
- // filename is substring of basename
- filename = std::string(basename.begin(),last_dot.base()-1);
- }
- }
|