1

我正在使用 C/C++ 在 Windows 上开发一个应用程序。我想知道,我怎样才能得到 a file/directoryfrom的完整路径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不正确的。

提前致谢。

4

1 回答 1

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()可选的,并指定用于确定绝对路径的“当前路径”。可能是您想要的。

于 2013-02-21T07:56:13.847 回答