linux系統程式設計之檔案與I O(三) 目錄的操作

2021-07-13 16:42:54 字數 1319 閱讀 7385

一、目錄的訪問

功能說明:開啟乙個目錄

原型:dir*  opendir(char *pathname);

返回值:

開啟成功,返回乙個目錄指標

開啟失敗,則返回null

功能說明:訪問指定目錄中下乙個連線的細節

原型:struct  dirent*  readdir(dir  *dirptr);

返回值:

返回乙個指向dirent結構的指標,它包含指定目錄中下乙個連線的細節;

沒有更多連線時,返回null

功能說明:關閉乙個已經開啟的目錄

原型:int closedir (dir  *dirptr);

返回值:呼叫成功返回0,失敗返回-1

二、目錄資訊結構體

struct dirent 

;三、目錄的建立刪除和許可權設定

功能說明:用來建立乙個稱為pathname的新目錄,它的許可權位設定為mode

原型:int  mkdir(char *pathname,mode_t mode);

返回值:呼叫成功返回0,失敗返回-1

mkdir常犯錯誤是認為許可權為0666和檔案相同,通常來說目錄是 需要可執行許可權,不然我們不能夠在下面建立目錄。

功能說明:刪除乙個空目錄

原型:int  rmdir(char *pathname);

返回值:呼叫成功返回0,失敗返回-1

功能說明:用來改變給定路徑名pathname的檔案的許可權位

原型:int  chmod (char *pathname, mode_t mode);

int  fchmod (int  fd, mode_t mode);

返回值:呼叫成功返回0,失敗返回-1

功能說明:用來改變檔案所有者的識別號(owner id)或者它的使用者組識別號(group id)

原型:int  chown (char *pathname, uid_t owner,gid_t group);

int  fchown (int  fd, uid_t owner,gid_t group);

返回值:呼叫成功返回0,失敗返回-1

#include#include#include#include#include#include#include#include#include#define err_exit(m) \

do while(0)

int main(int argc, char *argv )

closedir(dir);

exit(exit_success); // 等價於return 0

}

linux系統程式設計之檔案I O

一 檔案描述符 linux系統中,所有開啟的檔案都對應乙個數字,這個數字由系統來分配,稱為檔案描述符。pcb程序控制塊裡有檔案描述符表,以陣列形式存放於核心區。乙個程序預設開啟3個檔案描述符 stdin fileno 0 stdout fileno 1 stderr fileno 2 新開啟檔案返回...

linux系統程式設計之檔案IO

1.開啟檔案的函式open,第乙個引數表示檔案路徑名,第二個為開啟標記,第三個為檔案許可權 效果測試 列印開啟檔案返回的描述符為3,同時建立了檔案testopen1 2.建立檔案函式creat和關閉函式close 使用 include include include includeint main ...

linux系統程式設計之檔案IO(一)

在linux中,一切皆檔案,想對檔案內容進行操作,除了有操作許可權外,更重要的一點是要開啟檔案。以下只有乾貨 1 系統呼叫 include include include int open const char name,int flags int open const char name,int ...