我正在使用C / C ++在Windows上开发应用程序。
我想知道,如何从file/directory
获取filename/directory
的完整路径?
例如:
我的文件名是test\test.txt
,实际上它位于C:\Sample\test\test.txt
,我的项目位于E:\MyProject
。
那么如何从文件名C:\Sample\test\test.txt
获取完整路径,即test\test.txt
。
同样适用于任何目录。
我尝试过使用GetFullPathName但它只返回E:\MyProject\test\test.txt
,这是不正确的。
提前致谢。
答案 0 :(得分:1)
您可以查看Boost Filesystem。
它处理所有常见的路径操作。
在你的情况下:
int main()
{
using boost::filesystem::absolute;
using boost::filesystem::path;
std::cout << absolute(path("test\\test.txt"), path("C:\\Sample")) << std::endl;
}
请注意,absolute()
的第二个参数是可选,并指定用于确定绝对路径的“当前路径”。可能你想要的是什么。