4

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


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

4

1 回答 1

4

不,标准文件系统工具中没有提供任何东西来获取可执行文件的路径。

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

不过,有一些特定于操作系统的方法可以做到这一点:

于 2019-05-04T13:51:28.153 回答