boost::filesystem
库的哪些方法可以帮助我获得相对于另一个路径的路径?
我有一条路径 /home/user1/Downloads/Books
和一条路径 /home/user1/
。现在我想得到一条路径 Downloads/Books
。
原文由 itun 发布,翻译遵循 CC BY-SA 4.0 许可协议
boost::filesystem
库的哪些方法可以帮助我获得相对于另一个路径的路径?
我有一条路径 /home/user1/Downloads/Books
和一条路径 /home/user1/
。现在我想得到一条路径 Downloads/Books
。
原文由 itun 发布,翻译遵循 CC BY-SA 4.0 许可协议
在新版本的 boost
(从 1.60 开始)中,您可以使用 boost::filesystem::relative
。 (请参阅此处的文档。)
#include <boost/filesystem.hpp>
#include <iostream>
namespace fs = boost::filesystem;
int main()
{
fs::path parentPath("/home/user1/");
fs::path childPath("/home/user1/Downloads/Books");
fs::path relativePath = fs::relative(childPath, parentPath);
std::cout << relativePath << std::endl;
}
原文由 milaniez 发布,翻译遵循 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 阅读✓ 已解决
取自通过 Nicol 链接到的票证找到的链接:
把它放在头文件中,它应该做你想做的事。
示例调用: