chdir 子例程

用途

更改当前目录。

标准 C 库 (libc.a)

语法

#include <unistd.h>
int chdir ( Path)
const char *Path;

描述

chdir 子例程将当前目录更改为 Path 参数指示的目录。

参数

描述
路径 指向目录路径名的指针。 如果 Path 参数引用符号链接,那么 chdir 子例程会将当前目录设置为符号链接指向的目录。 如果系统上安装了网络文件系统 (NFS) ,那么此路径可以跨入另一个节点。

当前目录 (也称为当前工作目录) 是搜索不以/(斜杠) 开头的路径名的起始点。 调用进程必须对 Path 参数指定的目录具有搜索访问权。

返回值

成功完成时, chdir 子例程返回值 0。 否则,返回值为-1,并设置errno全局变量来标识错误。

错误代码

chdir 子例程失败,如果下列其中一项或多项为 true ,那么当前目录保持不变:

描述
EACCES 拒绝对指定目录进行搜索访问。
ENOENT 指定的目录不存在。
ENOTDIR 路径名不是目录。

由于其他原因, chdir 子例程也可能不成功。 请参阅需要路径名解析的 服务的基本操作系统错误代码 ,以获取其他错误代码的列表。

如果在系统上安装了 NFS ,那么如果以下情况成立,那么 chdir 子例程也可能失败:

描述
ETIMEDOUT 连接超时。