首页 > 编程 > C > 正文

C语言中改变目录的相关操作函数详解

2020-01-26 14:54:43
字体:
来源:转载
供稿:网友

C语言fchdir()函数:改变当前工作目录
头文件:

 #include <unistd.h>

定义函数:

int fchdir(int fd);

函数说明:fchdir()用来将当前的工作目录改变成以参数fd 所指的文件描述词。

返回值:执行成功则返回 0, 失败返回-1, errno 为错误代码.

范例

#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <unistd.h>main(){  int fd;  fd = open("/tmp", O_RDONLY);  fchdir(fd);  printf("current working directory : %s /n", getcwd(NULL, NULL));  close(fd);}

执行:

current working directory : /tmp

C语言rewinddir()函数:重设读取目录的位置为开头位置
头文件:

#include <sys/types.h>  #include <dirent.h>

定义函数:

void rewinddir(DIR *dir);

函数说明:rewinddir()用来设置参数dir 目录流目前的读取位置为原来开头的读取位置.

错误代码:EBADF dir 为无效的目录流。

范例

#include <sys/types.h>#include <dirent.h>#include <unistd.h>main(){  DIR * dir;  struct dirent *ptr;  dir = opendir("/etc/rc.d");  while((ptr = readdir(dir)) != NULL)  {    printf("d_name : %s/n", ptr->d_name);  }  rewinddir(dir);  printf("readdir again!/n");  while((ptr = readdir(dir)) != NULL)  {    printf("d_name : %s/n", ptr->d_name);  }  closedir(dir);}

执行:

d_name : .d_name : ..d_name : init.dd_name : rc0.dd_name : rc1.dd_name : rc2.dd_name : rc3.dd_name : rc4.dd_name : rc5.dd_name : rc6.dd_name : rcd_name : rc.locald_name : rc.sysinitreaddir again!d_name : .d_name : ..d_name : init.dd_name : rc0.dd_name : rc1.dd_name : rc2.dd_name : rc3.dd_name : rc4.dd_name : rc5.dd_name : rc6.dd_name : rcd_name : rc.locald_name : rc.sysinit

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选