更改 C++ 中的当前工作目录

2022-01-11 00:00:00 header working-directory portability c++

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

How can I change my current working directory in C++ in a platform-agnostic way?

我找到了与 Windows 兼容的 direct.h 头文件和与 UNIX/POSIX 兼容的 unistd.h.

I found the direct.h header file, which is Windows compatible, and the unistd.h, which is UNIX/POSIX compatible.

推荐答案

chdir 函数适用于 POSIX (manpage)和 Windows(称为 _chdir 那里,但别名 chdir 存在).

The chdir function works on both POSIX (manpage) and Windows (called _chdir there but an alias chdir exists).

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

Both implementations return zero on success and -1 on error. As you can see in the manpage, more distinguished errno values are possible in the POSIX variant, but that shouldn't really make a difference for most use cases.

相关文章