是否有一种与平台无关和与文件系统无关的方法来获取使用 C/C++ 运行程序的目录的完整路径?不要与当前工作目录混淆。 (请不要推荐库,除非它们是标准库,如 clib 或 STL。)
(如果没有与平台/文件系统无关的方法,也欢迎在 Windows 和 Linux 中针对特定文件系统工作的建议。)
原文由 Ashwin Nanjappa 发布,翻译遵循 CC BY-SA 4.0 许可协议
是否有一种与平台无关和与文件系统无关的方法来获取使用 C/C++ 运行程序的目录的完整路径?不要与当前工作目录混淆。 (请不要推荐库,除非它们是标准库,如 clib 或 STL。)
(如果没有与平台/文件系统无关的方法,也欢迎在 Windows 和 Linux 中针对特定文件系统工作的建议。)
原文由 Ashwin Nanjappa 发布,翻译遵循 CC BY-SA 4.0 许可协议
以下对我来说在 macOS 10.15.7 上运行良好
brew install boost
主文件
#include <iostream>
#include <boost/filesystem.hpp>
int main(int argc, char* argv[]){
boost::filesystem::path p{argv[0]};
p = absolute(p).parent_path();
std::cout << p << std::endl;
return 0;
}
编译
g++ -Wall -std=c++11 -l boost_filesystem main.cpp
原文由 Tareq Saif 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
这是获取执行应用程序的完整路径的代码:
视窗:
Linux: