chdir 子例程
用途
更改当前目录。
库
标准 C 库 (libc.a)
语法
#include <unistd.h> int chdir ( Path)
const char *Path;
const char *Path;
描述
chdir 子例程将当前目录更改为 Path 参数指示的目录。
参数
| 项 | 描述 |
|---|---|
| 路径 | 指向目录路径名的指针。 如果 Path 参数引用符号链接,那么 chdir 子例程会将当前目录设置为符号链接指向的目录。 如果系统上安装了网络文件系统 (NFS) ,那么此路径可以跨入另一个节点。 |
当前目录 (也称为当前工作目录) 是搜索不以/(斜杠) 开头的路径名的起始点。 调用进程必须对 Path 参数指定的目录具有搜索访问权。
返回值
成功完成时, chdir 子例程返回值 0。 否则,返回值为-1,并设置errno全局变量来标识错误。
错误代码
chdir 子例程失败,如果下列其中一项或多项为 true ,那么当前目录保持不变:
| 项 | 描述 |
|---|---|
| EACCES | 拒绝对指定目录进行搜索访问。 |
| ENOENT | 指定的目录不存在。 |
| ENOTDIR | 路径名不是目录。 |
由于其他原因, chdir 子例程也可能不成功。 请参阅需要路径名解析的 服务的基本操作系统错误代码 ,以获取其他错误代码的列表。
如果在系统上安装了 NFS ,那么如果以下情况成立,那么 chdir 子例程也可能失败:
| 项 | 描述 |
|---|---|
| ETIMEDOUT | 连接超时。 |