如何以与平台无关的方式在 C++ 中更改我当前的工作目录?
我找到了 direct.h
头文件,它与 Windows 兼容,以及 unistd.h
,它与 UNIX/POSIX 兼容。
原文由 sparkFinder 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何以与平台无关的方式在 C++ 中更改我当前的工作目录?
我找到了 direct.h
头文件,它与 Windows 兼容,以及 unistd.h
,它与 UNIX/POSIX 兼容。
原文由 sparkFinder 发布,翻译遵循 CC BY-SA 4.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 许可协议
3 回答1.1k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
4 回答797 阅读
1 回答874 阅读
1 回答902 阅读
1 回答672 阅读
1 回答779 阅读
chdir
函数适用于 POSIX(手册 页)和 Windows(称为_chdir
但别名chdir
存在)。两种实现都在成功时返回零,在错误时返回 -1。正如您在手册页中看到的那样,在 POSIX 变体中可能会出现更显着的 errno 值,但对于大多数用例来说,这并不会真正产生影响。