【发布时间】:2019-09-22 17:54:17
【问题描述】:
在我被标记为重复之前,我能找到的所有类似问题在引入 std::filesystem 之前都有答案,并且可以使用特定于平台的代码或 Boost::filesystem。我正在寻找使用 std::filesystem 的便携式答案。
是否可以使用 std::filesystem 获取 c++ 可执行文件所在的路径(不是工作目录)?如果是,如何?
【问题讨论】:
-
我找不到任何东西here。所以恐怕答案是,这是不可能的。
-
main函数的第二个参数(argv)呢?我不确定它的便携性。 -
@Kerndog73 除非使用完整路径调用程序,否则不会包含完整路径。
-
@Kerndog73 绝对不是 linux 系统。它只是在 shell 中输入的内容,或者在 UI 启动器中使用的内容。
-
您可以使用
std::filesystem和当前目录以及argv[0]获取绝对路径,但它仍然不是“可移植的”,因为在argv[0]中没有说明argv[0]中的内容@ 标准。
标签: c++ c++17 std-filesystem