📜  chdir()用C语言编写的示例(1)

📅  最后修改于: 2023-12-03 14:40:04.153000             🧑  作者: Mango

chdir()用C语言编写的示例

chdir()是C语言中的一个系统调用,用于改变当前工作目录。它的原型如下:

int chdir(const char *path);

使用该函数可以更改当前进程的工作目录。如果成功,返回0,否则返回-1 并设置errno。

以下是一个简单的示例程序:

#include <stdio.h>
#include <unistd.h>
#include <errno.h>

int main()
{
    int ret;
    char *path = "/usr/local"; // 想要设置的目录

    ret = chdir(path);

    if(ret == 0)
    {
        printf("成功更改目录为 %s\n", path);
        printf("当前目录: %s\n", getcwd(NULL, 0)); // 获取当前目录并打印出来
    }
    else
    {
        printf("更改目录失败,错误码为 %d\n", errno);
    }

    return 0;
}

以上程序将当前目录更改为/usr/local,并打印出更改后的当前目录。

运行结果
成功更改目录为 /usr/local
当前目录: /usr/local

在更改目录成功后,getcwd()函数被调用以获取当前目录并打印出来。

解释

在上面的程序中,我们先定义了要更改的目录/usr/local,然后调用chdir()函数将当前工作目录更改为这个目录。如果返回值为0,则表示更改成功,否则表示出现了错误。如果出错,可以使用errno全局变量获取错误码。

该函数的实际使用情况可能会更加复杂,需要考虑到错误处理、文件权限等问题。