Changes the current directory.
Standard C Library (libc.a)
#include <unistd.h>
int chdir ( Path)
const char *Path;
The chdir subroutine changes the current directory to the directory indicated by the Path parameter.
Item | Description |
---|---|
Path | A pointer to the path name of the directory. If the Path parameter refers to a symbolic link, the chdir subroutine sets the current directory to the directory pointed to by the symbolic link. If Network File System (NFS) is installed on the system, this path can cross into another node. |
The current directory, also called the current working directory, is the starting point of searches for path names that do not begin with a / (slash). The calling process must have search access to the directory specified by the Path parameter.
Upon successful completion, the chdir subroutine returns a value of 0. Otherwise, a value of -1 is returned and the errno global variable is set to identify the error.
The chdir subroutine fails and the current directory remains unchanged if one or more of the following are true:
Item | Description |
---|---|
EACCES | Search access is denied for the named directory. |
ENOENT | The named directory does not exist. |
ENOTDIR | The path name is not a directory. |
The chdir subroutine can also be unsuccessful for other reasons. See Base Operating System error codes for services that require path-name resolution (Base Operating System error codes for services that require path-name resolution) for a list of additional error codes.
If NFS is installed on the system, the chdir subroutine can also fail if the following is true:
Item | Description |
---|---|
ETIMEDOUT | The connection timed out. |