linux下遍歷目錄和檔案

2021-10-01 10:14:17 字數 1192 閱讀 1853

目錄操作相關函式

1、opendir 開啟目錄

dir *opendir(const char *name);
引數:要開啟的目錄名

返回值:指向目錄的指標

這裡的dir型別可以int dirfd(dir *dirp)函式轉變為描述符 fd

2、讀目錄 readdir;

struct dirent *readdir(dir *dirp);
引數:opendir的返回值   

返回值:目錄項結構體

這裡的讀目錄的意思就是把目錄的詳細資訊包括檔名,檔案型別等存到結構體 dirent中返回,struct dirent的詳細內容是:

struct dirent

其中 重要的 d_type表示的是檔案型別,總共有8種取值

dt_blk     塊裝置

dt_chr    字元裝置

dt_dir      目錄

dy_lnk     軟連線

dt_fifo     管道

dt_reg     普通檔案

dt_sock   套接字

dt_unknown 未知

3、closedir 關閉目錄

int closedir(dir *dirp);
下面程式統計目錄包括子目錄下檔案的數量

#include #include #include #include #include #include #include int get_filenum(char *pathname)

//迴圈讀目錄中的檔案

struct dirent *ptr = null;

while((ptr = readir(ptr)) != null)

//判斷是不是普通檔案

if(ptr->d_type == dt_reg)

if(ptr->d_type == dt_dir)

; sprintf(path,"%s/%s",root,ptr->d_name);

total += get_filenum(path);

} }close(dir);

return total;

}

遍歷目錄和檔案資訊

using system using system.io namespace 檢視檔案和子目錄專案 找到個檔案.filecounter,dircounter private void exploredirectory directoryinfo dir console.writeline n ind...

Linux下目錄和檔案的許可權

在linux系統內檔案有三種身份 owner group others 而且每種身份有三種許可權 r read w write x execute 我們可以使用chmod chown chgrp去修改這 些許可權,也可以用ls l檢視他們的許可權與屬性,那麼這些許可權對於一般檔案和目錄檔案有什麼不同...

PHP遍歷目錄和檔案列表

php view plain copy define ds directory separator class getdirfile closedir handle else return dirarray 獲取檔案列表 public function getfile dir closedir ha...