获取可执行文件的路径(使用std :: filesystem)

时间:2019-05-04 12:18:09

标签: c++ c++17 std-filesystem

在我被标记为重复之前,在引入std :: filesystem之前,我可以找到所有类似的问题的答案,并且可以使用平台特定的代码或Boost :: filesystem。我正在寻找使用std :: filesystem的可移植答案。


是否可以使用std :: filesystem获取c ++可执行文件所在的路径(而不是工作目录)?如果是,怎么办?

1 个答案:

答案 0 :(得分:1)

否,standard filesystem facilities中没有提供任何文件来获取可执行文件的路径。

即使使用1st argv argument也不能保证包含可执行文件的完整路径。
我知道的系统只会传入用于启动程序的字符串。
考虑到可以使用PATH环境变量来解决此问题,因此无法保证,您会在此处看到完整的路径。

但是,有一些特定于操作系统的方法可以这样做: