[filesystem] remove_filename( ) - is this an error?
Hi Guys This bit of code... #include <iostream> #include <boost/filesystem.hpp> int main( ) { const char * bits[] = { "first", "second", "third", "fourth", 0 }; boost::filesystem::path path; for ( const char * * bit = bits; * bit; ++ bit ) { path /= * bit; } while ( path.has_parent_path( ) ) { std::cout << path << std::endl; path.remove_filename( ); } } produces first/second/third/fourth first/second/third/ first/second/third first/second/ first/second first/ which surprised me, as the documentation says basic_path& remove_filename(); *Effects:* If has_parent_path() then remove the last *filename* from the stored path. If that leaves the stored path with one or more trailing *slash * elements not representing *root-directory*, remove them. Seems to me that remove_filename() does NOT remove trailing slashes as stated. - Rob.
participants (1)
-
Robert Jones