如果文件位于系统PATH中,是否可以通过文件名获取文件的完整路径?
例如,我的路径中有cmake
。我可以使用C ++文件系统库获取完整路径吗?我只想对文件是否存在进行跨平台检查。
答案 0 :(得分:1)
Boost.Process 在search_path中具有此功能。这是一个小型的Linux示例测试测试搜索路径,以查找sh
可执行文件在系统路径中的位置。
#include <iostream>
#include <cstdlib>
#include <boost/process/search_path.hpp>
#include <string>
int main()
{
auto myPath = boost::process::search_path("sh");
std::cout << "sh executable path " << myPath << std::endl;
}
要测试的实时环境: https://wandbox.org/permlink/c3TbKq4sliBjxRVc
输出:
开始
sh路径“ / bin / sh”
0
完成