我有一行代码,其中包含 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();
答案 0 :(得分:1)
我建议你采取source code from Boost,适应/解除它并继续前进。它只不过是getcwd()
(POSIX)和GetCurrentDirectoryW
(Windows)的包装器。 <{1}}广泛可用后,您可以稍后将其丢弃。
如果您想知道如何设置std::filesystem::current_path()
(在方法中引用),请查看此代码段:
BOOST_POSIX_API