scandir

scandir

函式scandir掃描dir目錄下(不包括子目錄)滿足filter過濾模式的檔案,返回的結果是compare函式經過排序的,並保存在namelist中。注意namelist是通過malloc動態分配記憶體的,所以在使用時要注意釋放記憶體。alphasort和versionsort是使用到的兩種排序的函式。

cpp

#include <dirent.h>

int scandir( const char *dir,

struct dirent ***namelist,

int (*filter) (const void *b),

int ( * compare )( const struct dirent **, const struct dirent ** ) );

int alphasort(const void **a, const void **b);

int versionsort(const void **a, const void **b);

當函式成功執行時返回找到匹配模式檔案的個數,如果失敗將返回-1。

eg:

#include <dirent.h>

int main()

{

struct dirent **namelist;

int n;

n = scandir(".", &namelist, 0, alphasort);

if (n < 0)

{

perror("not found\n");

}

else

{

while(n--)

{

printf("%s\n", namelist[n]->d_name);

free(namelist[n]);

}

free(namelist);

}

}

PHP Directory 函式

scandir() 函式返回一個數組,其中包含指定路徑中的檔案和目錄。

若成功,則返回一個數組,若失敗,則返回 false。如果 directory不是目錄,則返回布爾值 false 並生成一條 E_WARNING 級的錯誤。

語法

scandir(directory,sort,context)

參數描述
directory必需。規定要掃描的目錄。
sort可選。規定排列順序。默認是 0 (升序)。如果是 1,則為降序。
context可選。規定目錄句柄的環境。context 是可修改目錄流的行為的一套選項。

例子

<?phpprint_r(scandir("images"));?>

輸出:

Array([0] => .[1] => ..[2] => dog.jpg[3] => house.jpg[4] => logo.gif)

相關詞條

相關搜尋

熱門詞條

聯絡我們