scandir

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

基本介紹

  • 中文名:scandir
  • 性質:科技
  • 類別:計算機學
C++函式,PHP函式,語法,例子,

C++函式

#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>
#include <malloc.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]);
namelist[n] = nullptr;
}
free(namelist);
namelist = nullptr;
}
return 0;
}

PHP函式

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)

相關詞條

熱門詞條

聯絡我們