遞迴遍歷目錄下的檔案

2021-05-26 12:56:10 字數 1162 閱讀 8927

關於目錄檔案的分析

/lib/src/vim

/,lib,src,都是目錄檔案,而vim是普通檔案 -------------------opendir()  返回乙個dir *--------->readdir(dir *) 返回乙個dirent 結構的指標

struct dirent

long d_ino;                 /* inode number 索引節點號 */

off_t d_off;                /* offset to this dirent 在目錄檔案中的偏移 */

unsigned short d_reclen;    /* length of this d_name 檔名長 */

unsigned char d_type;        /* the type of d_name 檔案型別 */    

char d_name [name_max+1];   /* file name (null-terminated) 檔名,最長255字元 */

struct __dirstream

;typedef struct __dirstream dir;

例子程式:

/*****************************

* 遞迴遍歷乙個目錄下的所有檔案和目錄

* author:wuyichao

* date:2011-5-8

******************************/

#include #include #include #include static char fullpath[128]; //每個檔案的檔名

static int dopath()

if (s_isdir(statbuf.st_mode) == 0) else

while ((dirp = readdir(dp)) != null)

return 1;

} //如果是目錄,就遞迴

}int

main(int argc, char *argv)

strcpy(fullpath, argv[1]);

dopath();

return 0;

}

Shell遞迴遍歷目錄下檔案

遍歷linux某目錄下的所有檔案 bin bash 1是執行指令碼時,輸入的第乙個引數,這裡指的是使用者希望搜尋的目錄 下面的 是對目錄進行判斷,如果為空則使用指令碼所在的目錄 否則,搜尋使用者輸入的目錄 if z 1 d 1 then echo the directory is empty or ...

Python遞迴遍歷目錄下所有檔案

自定義函式 import os path d temp del a def gci path this is a statement parents os.listdir path for parent in parents child os.path.join path,parent print ...

perl 遞迴地遍歷目錄下的檔案

usr bin perl w usestrict use file spec local n 當前模組的每行輸出加入換行符 my options 目錄路徑 options home jiangyu src pl example my cases if d options while files re...