Boost logo

Boost Users :

From: Robert Dailey (rcdailey_at_[hidden])
Date: 2008-04-24 19:20:56


On Thu, Apr 24, 2008 at 5:01 PM, Mika Fischer <mika.fischer_at_[hidden]>
wrote:

> Robert Dailey schrieb:
> > boost::filesystem::path myPath( "C:/somefolder/somefile" );
> > myPath += ".txt";
> >
> > Notice the 2nd line of code. This isn't legal. What is the cleanest way
> > to append an extension to a file path? I don't think /= will work; if I
> > remember correctly it will add "/.txt".
>
> I think you basically have the option of doing:
>
> 1)
> myPath = myPath.branch_path() / (myPath.leaf() + ".txt");
>
> 2)
> string tmp = p.leaf();
> p.remove_leaf();
> p /= tmp + ".txt";
>
> Both are not really pretty...
>
> Regards,
> Mika

I figured that would be the approach I would have to take. I'm making best
efforts to only append a filename when the extension is present, since as
far as I can tell being preemptive like that is the cleanest solution.



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net