在linux下遍歷某一目錄下內容linux下歷遍目錄的方法一般是這樣的
開啟目錄->讀取->關閉目錄
相關函式是opendir -> readdir -> closedir,其原型如下:
#include
dir *opendir(const char *dirname);
struct dirent *readdir(dir *dirp);
int closedir(dir *dirp);
簡單列舉一例:
#include
struct dirent* ent = null;
dir *pdir;
if( (pdir=opendir("/home/test")) == null)
while( (ent=readdir(pdir)) != null )
closedir(pdir);
其中有一很關鍵的結構體dirent:
** on linux, the dirent structure is defined as follows: struct dirent ;其中inode表示存放的是該檔案的結點數目(具體可了解linux下的檔案系統),d_off 是檔案在目錄中的編移,這兩個基本很少用。
d_type表示檔案型別:
view sourceprint?01 enum
02 ;
d_reclen認為是紀錄的長度,計算方式應該是4(d_ino)+4(d_off)+2(d_reclen)+1(d_type)+1(補齊位)+4n(d_name會自動補齊:1.jpg為8,12.jpg也為8,1234.jpg也為8,12345.jpg則為12);所以一般d_reclen是20和24(其中.和..是16)。
d_name表示檔名,如test.jpg
spquery查詢某一目錄下所有文件和資料夾
webservice裡查詢某一目錄下的所有物件 資料夾和文件 文件庫 1 物件模型裡的查詢某一目錄下的所有物件 資料夾和文件 using spweb web spcontext.current.site.openweb new guid webguid splist list web.lists n...
如何刪除存在遠端GitHub庫某一目錄下的檔案
如何刪除存在遠端github庫某一目錄下的檔案 前幾天用sourcetree 在往github上傳專案 時遇到了乙個小問題,本來在遠端倉庫已經建立好該項目的目錄結構,只需要將我本地專案資料夾下的所有檔案直接傳到github對應的目錄結構下就可以了,直接訪問該目錄下的index.html就可以看到介面...
java遞迴實現統計某一目錄下檔案的個數
需求 統計某乙個指定目錄下檔案的個數,資料夾不統計在內。分析遞迴退出的條件 該檔案確實是乙個檔案而不是資料夾 該資料夾是乙個空目錄 除了上述兩個退出條件之後其他情況下都要不斷的進行遞迴,於是就有了以下的設計實現 遞迴統計該目錄下的檔案個數 只統計檔案,如果目錄下還有目錄一直往下查詢 param di...