我通过以下方式看到C的getcwd:
男子3 CWD

我怀疑C++也有类似的代码,可能会返回std::string。

如果是这样,它叫什么,在哪里可以找到它的文档?

谢谢!

最佳答案

好的,即使您已经接受了答案,我也要回答。

与包装getcwd调用相比,更好的方法是使用boost::filesystem,您可以从path函数中获得current_path()对象。 Boost文件系统库允许您执行许多其他有用的工作,否则您将需要执行许多字符串解析来完成这些工作,例如检查文件/目录是否存在,获取父路径,使路径完整等。进行检查,它也是可移植的-如果不使用它,很多字符串解析代码都不会使用。

更新(2016):文件系统已基于Boost Filesystem v3在2015年作为technical specification发布。这意味着它可能已经在您的编译器中可用(例如Visual Studio 2015)。在我看来,它很可能会成为将来的C++标准的一部分(我假设使用C++ 17,但我不了解当前状态)。

更新(2017): filesystem library已与C++ 17中的ISO C++合并,用于

std::filesystem::current_path();

关于c++ - 是否有与getcwd等效的C++?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2203159/

10-13 03:51