📅  最后修改于: 2023-12-03 14:40:04.153000             🧑  作者: Mango
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
全局变量获取错误码。
该函数的实际使用情况可能会更加复杂,需要考虑到错误处理、文件权限等问题。