请输入您要查询的百科知识:

 

词条 scandir
释义

#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);

函数scandir扫描dir目录下以及dir子目录下满足filter过滤模式的文件,返回的结果是compare函数经过排序的,并保存在namelist中。注意namelist是通过malloc动态分配内存的,所以在使用时要注意释放内存。alphasort和versionsort是使用到的两种排序的函数。

当函数成功执行时返回找到匹配模式文件的个数,如果失败将返回-1。

eg:

#include <dirent.h>

int main()

{

struct dirent **namelist;

int n;

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

if (n < 0)

{

perror("not found\");

}

else

{

while(n--)

{

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

free(namelist[n]);

}

free(namelist);

}

}

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/2/12 22:57:22