Does C++ have any equivalent to python's function os.path.join
? Basically, I'm looking for something that combines two (or more) parts of a file path so that you don't have to worry about making sure the two parts fit together perfectly. If it's in Qt, that would be cool too.
Basically I spent an hour debugging some code and at least part of it was because root + filename
had to be root/ + filename
, and I'm looking to avoid that in the future.
Only as part of Boost.Filesystem library. Here is an example:
#include <iostream>
#include <boost/filesystem.hpp>
namespace fs = boost::filesystem;
int main ()
{
fs::path dir ("/tmp");
fs::path file ("foo.txt");
fs::path full_path = dir / file;
std::cout << full_path << std::endl;
return 0;
}
Here is an example of compiling and running (platform specific):
$ g++ ./test.cpp -o test -lboost_filesystem -lboost_system
$ ./test
/tmp/foo.txt