views:

53

answers:

2

Hi,

Is there a function that returns the fully qualified path name for any inputted file?

I'm thinking of something like:

LPCSTR path = "foo.bar"
LPCSTR fullPath = FullyQualifiedPath(path);
//fullPath now equals C:\path\to\foo.bar

Thanks

+1  A: 

In Win32, call the GetFullPathName function.

Greg Hewgill
Perfect, thanks!
Zain
Note that on NTFS, with hard links especially, this returns one of the full path names of the file (if it only has one, then it doesn't matter). Just a head's up.
jrtipton
+2  A: 

Use boost::filesystem http://www.boost.org/doc/libs/1_44_0/libs/filesystem/v2/doc/index.htm

#include <iostream>
#include <boost/filesystem.hpp>

int main()
{
    boost::filesystem::path p = boost::filesystem::complete("foo.bar");
    std::cout << p;
}
PigBen
Thanks for the answer but I can't use any external libraries.
Zain