删除对boost :: filesystem :: current_path()的依赖

时间:2017-08-31 18:56:18

标签: c++ c++14 boost-filesystem

我有一行代码,其中包含 boost-filesystem 1.64 库,我很乐意将其删除,因此我可以从我的程序中删除对Boost的依赖。

这条线本身:

std::string currentPath = boost::filesystem::current_path().string();

我正在寻找一个替代品,它可以在Windows和Linux上使用编译器 Visual C ++ LLVM std::string currentPath。如果可能的话也适用于GCC。

我可能不够努力,但我仍在学习 C ++ ,并且实际上并不了解标准库。所以我问这个问题。

目前的解决方案是依靠:

std::experimental::filesystem::current_path();

1 个答案:

答案 0 :(得分:1)

我建议你采取source code from Boost,适应/解除它并继续前进。它只不过是getcwd()(POSIX)和GetCurrentDirectoryW(Windows)的包装器。 <{1}}广泛可用后,您可以稍后将其丢弃。

如果您想知道如何设置std::filesystem::current_path()(在方法中引用),请查看此代码段:

BOOST_POSIX_API