1、inux命令中可以使用pwd查看当前目录,系统编程中可以通过getcwd获取当前目录。
2、man 3 getcwd
3、char *getcwd(char *buf, size_t size);
–参数*buf:保存当前目录的缓冲区
–参数size:在现代linux 中,buf 的长度至少可以为255 字节
–返回值:成功返回指向当前目录的指针,和buf 的值一样,错误返回NULL
4、char *getwd(char *buf);该函数已经过时,使用的时候会有警告
–参数*buf:保存当前目录的缓冲区
–返回值:成功返回指向当前目录的指针,和buf 的值一样,错误返回NULL
5、char *get_current_dir_name(void);
–参数:无
–返回值:成功返回指向当前目录的指针,错误返回NULL
例:
#include <stdio.h>
/*getcwd、getwd和get_current_dir_name
函数的头文件*/
#define __USE_GNU
#include <unistd.h>
#define LENTH 255
int main()
{
char pwd[LENTH];
char *wd;
//getcwd函数测试
if(!getcwd(pwd,LENTH)){
perror("getcwd");
return 1;
}
printf("\ngetcwd pwd is %s\n",pwd);
//getwd函数测试
wd = getwd(pwd);
if(!wd){
perror("getcwd");
return 1;
}
printf("\ngetwd pwd is %s\n",wd);
//get_current_dir_name函数测试
wd = get_current_dir_name();
if(!wd){
perror("getcwd");
return 1;
}
printf("\nget_current pwd is %s\n",wd);
return 0;
}