Rel*_*lla 14 c++ boost boost-filesystem
所以我运行我的应用程序.我需要知道它的可执行文件在哪里.如何使用Boost.Filesystem找到它的路径?
dav*_*vka 35
boost::filesystem::system_complete(argv[0]);
Run Code Online (Sandbox Code Playgroud)
例如
[davka@bagvapp Debug]$ ./boostfstest
/home/davka/workspaces/v1.1-POC/boostfstest/Debug/boostfstest
Run Code Online (Sandbox Code Playgroud)
请注意,这将为您提供包含可执行文件名的完整路径.
Sta*_*irl 17
你不能,Boost.Filesystem不提供这样的功能.
但是从Boost 1.61开始,你可以使用Boost.Dll和函数boost::dll::program_location:
#include <boost/dll.hpp>
boost::dll::program_location().parent_path();
Run Code Online (Sandbox Code Playgroud)
f4.*_*f4. 10
你不能用boost :: filesystem可靠地做到这一点.
但是,如果您在Windows上,则可以调用GetModuleFileName以获取可执行文件的完整路径,然后使用它boost::filesystem来获取目录.(见parent_path)
Ral*_*alf -34
如果您的意思是从正在运行的可执行文件内部,您可以使用boost::filesystem::current_path()