c++ - 从 C++ 中的文件名获取完整路径

标签 c++ windows path directory filenames

<分区>

我正在使用 C/C++ 在 Windows 上开发应用程序。 我想知道,如何从 filename/directory 获取 file/directory 的完整路径?

例如: 我的文件名是test\test.txt,实际上它位于C:\Sample\test\test.txt,我的项目位于E:\我的项目

那么我如何从文件名 test\test.txt 中获取完整路径,即 C:\Sample\test\test.txt。 任何目录都一样。

我曾尝试使用 GetFullPathName,但它只返回不正确的 E:\MyProject\test\test.txt

提前致谢。

最佳答案

你可以看看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() 的第二个参数是可选 并指定用于确定绝对路径的“当前路径”。可能是您想要的。

关于c++ - 从 C++ 中的文件名获取完整路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14997117/

相关文章:

windows - 调用 "set"后,Cmake "find_path"对同一变量不起作用

qt - 如何使用 QString Replace() 将 '/' 替换为 '\\'?

wpf - "{Binding Path=.}"和 "{Binding}"真的相等吗

c++ - 将 std::is_convertible 与 std::type_index 一起使用

c++ - wlanapi - WlanFreeMemory 会释放它的 WLAN_INTERFACE_INFO 数组结构吗?

c++ - 使用 std::vector 和 boost::thread 进行内存管理

python - SciKit-learn 导入错误

mySQL 安装程序 - 访问路径被拒绝

c++ - 错误代码 LNK2019

python - 分隔字符串的最佳 ASCII 字符是什么?