获取可执行文件的路径(std::filesystem)
Get executable's path (with std::filesystem)
在我被标记为重复之前,我能找到的所有类似问题在引入 std::filesystem 之前都有答案,并且可以使用特定于平台的代码或 Boost::filesystem。我正在寻找使用 std::filesystem.
的便携式答案
是否可以使用std::filesystem获取c++可执行文件所在的路径(不是工作目录)?如果是,如何?
不,standard filesystem facilities 中没有提供任何内容来获取可执行文件的路径。
即使使用 1st argv
argument 也不能保证包含可执行文件的完整路径。
我知道的系统只会传入用于启动程序的字符串。
考虑到这可以使用 PATH
环境变量来解决,所以不能保证,你会在那里看到完整路径。
虽然有一些 OS 具体方法可以做到这一点:
- Get path of executable
在我被标记为重复之前,我能找到的所有类似问题在引入 std::filesystem 之前都有答案,并且可以使用特定于平台的代码或 Boost::filesystem。我正在寻找使用 std::filesystem.
的便携式答案是否可以使用std::filesystem获取c++可执行文件所在的路径(不是工作目录)?如果是,如何?
不,standard filesystem facilities 中没有提供任何内容来获取可执行文件的路径。
即使使用 1st argv
argument 也不能保证包含可执行文件的完整路径。
我知道的系统只会传入用于启动程序的字符串。
考虑到这可以使用 PATH
环境变量来解决,所以不能保证,你会在那里看到完整路径。
虽然有一些 OS 具体方法可以做到这一点:
- Get path of executable