更改 C 中的当前工作目录

新手上路,请多包涵

如何以与平台无关的方式在 C++ 中更改我当前的工作目录?

我找到了 direct.h 头文件,它与 Windows 兼容,以及 unistd.h ,它与 UNIX/POSIX 兼容。

原文由 sparkFinder 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.6k
2 个回答

chdir 函数适用于 POSIX(手册 )和 Windows(称为 _chdir 但别名 chdir 存在)。

两种实现都在成功时返回零,在错误时返回 -1。正如您在手册页中看到的那样,在 POSIX 变体中可能会出现更显着的 errno 值,但对于大多数用例来说,这并不会真正产生影响。

原文由 AndiDog 发布,翻译遵循 CC BY-SA 3.0 许可协议

现在,使用 C++17 可以使用 std::filesystem::current_path

 #include <filesystem>
int main() {
    auto path = std::filesystem::current_path(); //getting path
    std::filesystem::current_path(path); //setting path
}

原文由 João Paulo 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题