C++ Boost Filesystem: How to modify stem from a path?

ireallydontknow picture ireallydontknow · Oct 31, 2013 · Viewed 9.2k times · Source

I'm using the Boost Filesystem library. I have a path

boost::filesystem::path P("/foo/bar.baz");

I want to modify the stem part of path p to "bar_quz", so path P stays

/foo/bar_quz.baz

Can someone help me? Thanks

Answer

Shmil The Cat picture Shmil The Cat · Oct 31, 2013
const std::string rndString = "quz";
boost::filesystem::path newPath = P.parent_path() / boost::filesystem::path(P.stem().string() + "_" + rndString + P.extension().string());