linux getcwd、chdir函数详解

每个进程都有一个工作目录(working directory),有时称其为当前工作目录(current working directory,简称cwd)。所有相对路径名都从当前工作目录开始解释。其中getcwd函数可以获取当前工作目录,chdir函数可以更改当前工作目录。

登录时,工作目录设置为起始目录(home directory),该起始目录从口令文件(通常是/etc/passwd)中的相应用户的登录项中取得。口令文件中的登录项由7个以冒号分隔的字段组成,依次是:登录名、加密口令、数字用户ID、数字组ID、注释字段、起始目录以及shell程序。

例如:

sar:x:205:105:Rago:/home/sar:/bin/ksh

 

getcwd函数:

头文件:unistd.h

函数原型:char *getcwd(char *buf, size_t size);

功能:getcwd()会将当前工作目录的绝对路径复制到参数buffer所指的内存空间中,参数size为buf的空间大小

 

chdir函数:

头文件:unistd.h

函数原型: int chdir(const char *path);

参数:path可以是绝对目录或者相对目录

功能:改变当前工作目录

返回值:成功返回0,失败返回-1

 

示例程序:

getcwd_chdir_test.c

#include <unistd.h>
#include <stdio.h>
int main()
{
	char path[500];
	getcwd(path,sizeof(path));
	printf("当前工作目录为:%s\n",path);
	chdir("/");
	getcwd(path,sizeof(path));
	printf("调用chdir函数更改当前工作目录后:\n");
        printf("当前工作目录为:%s\n",path);
	return 0;
}

运行结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值