views:

137

answers:

2

Is there a nice way in the WinAPI to get a path relative to another path? For example:

Have a list of paths relative to:

a\b\c\d

And I'd like to change them all to paths relative to

a\b\c

Is there a neat way to do this or should I get path parsing?

+2  A: 

As far as i know there is no such functionality in the windows API, but there is e.g. an article on CodeGuru that provides that functionality.

edit:
I stand corrected, there is PathRelativePathTo() in the shell api as mentioned in this answer.

Georg Fritzsche
That's certainly very close. Thanks very much :-)
Benj
You owe me 25 points :)
Shay Erlichmen
You were right, i'll write you a check ;)
Georg Fritzsche
+1  A: 

I don't know of any way of doing this directly, but you might be able to do it in a couple of steps using PathCommonPrefix and PathCombine. Otherwise, boost::filesystem may make it possible, eg with the relative_path() method.

the_mandrill