讀目錄(UNIX環境高階程式設計筆記)

2021-09-18 06:10:09 字數 709 閱讀 5667

對某個目錄具有訪問許可權的任一使用者都可以讀該目錄,但是,為了防止檔案系統發生混亂,只允許核心寫目錄。

#include

dir *opendir(const char *pathname);

dir *fdopendir(int fd);

兩個函式返回值:若成功,返回指標;若出錯,返回null

struct dirent *readdir(dir *dp);

返回值:若成功,返回指標;若在目錄尾或出錯,返回null

void rewinddir(dir *dp)

int closedir(dir *dp)

返回值:若成功,返回0;若出錯,返回-1

long telldir(dir *dp)

返回值:與dp關聯的目錄中的當前位置

void seekdir(dir *dp, long loc);

struct dirent ;

注意:d_name項的大小並沒有指定,但必須保證他它能至少包含name_max個位元組(不包含終止null位元組)。檔名是以null位元組結束的。

dir結構是乙個內部結構,上述7個函式用這個內部結構儲存當前正在被讀取的目錄的有關資訊。

由opendir和fdopendir返回的指向dir結構的指標由另外5個函式使用。

fdopendir的返回值需要考慮到檔案描述符相關的檔案偏移量。

《unix環境高階程式設計》 讀書筆記 目錄

近來讀書,做些筆記,來年好翻翻。本文所使用的作業系統為 centos7.0,如果不想裝雙系統的可以裝虛擬機器,可以參考這裡 當然啦,直接裝個再好不過了。涉及主題 檔案描述符,系統資源限制,檔案相關,close on exec,涉及函式 getrlimit,setrlimit lseek,open,c...

《unix環境高階程式設計》筆記2

第四章 檔案和目錄 本章將描述檔案系統特徵和檔案性質 1 stat fstat和lstat函式 原型 include int stat const char restrict pathname,struct stat restrict buf int fstat int filedes,struct...

UNIX環境高階程式設計學習筆記

include include include include int main int argc,char argv err sys can t open s argv 1 while dirp readdir dp null printf s n dirp d name closedir dp ...