C語言中改變目錄的相關操作函數詳解_C 語言

來源:互聯網
上載者:User

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.