() 头文件
#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 是使用到的两种排序的函数。
当函数成功执行时返回找到匹配模式文件的个数,如果失败将返回-。
() 使用示例 /*
scandir函数
*/
#include <stdio.h>
#include <dirent.h>
int customFilter(const struct dirent *pDir)
{
if (strncmp("test", pDir->d_name, ) ==
&& pDir->d_type & 0x04
&& strcmp(pDir->d_name, ".")
&& strcmp(pDir->d_name, ".."))
{
return ;
}
return ;
}
int main()
{
struct dirent **namelist;
int n;
int i;
n = scandir(".", &namelist, customFilter, alphasort);
if (n < )
{
perror("scandir");
}
else
{
for (i = ; i < n; i++)
{
printf("%s\n", namelist[i]->d_name);
free(namelist[i]);
}
free(namelist);
}
}

最新文章

  1. linux date时区修改
  2. CI框架(一)
  3. matrix-tree
  4. 判断两个IP是否属于同一子网
  5. 做中学learning by doing——个人感想20155312张竞予
  6. HTML 笔记,持续更新
  7. Xcode 编辑时的爆炸效果
  8. IEnumerable接口的实现
  9. 前端工作流程自动化——Grunt/Gulp 自动化
  10. 计算1到n整数中,字符ch出现的次数
  11. (转)HTML特殊字符
  12. log4j的用法
  13. git代理配置
  14. scala 入门Eclipse环境搭建
  15. 设计模式学习--Prototype
  16. N的多次方Python实现
  17. 解决EF使用context.Database.SqlQuery时NotMapped属性列为空null的问题(转载)
  18. HGOI20180823 三校联考
  19. UVA10298 Power Strings
  20. idea 码云 项目上传

热门文章

  1. Apache上部署Django
  2. .NET EF 框架-实现增删改查
  3. 【转载】aspx,ascx和ashx使用小结
  4. [转]Linux shell中的那些小把戏
  5. Atitit.ati&amp;#160;dwr的原理and设计&amp;#160;attilax&amp;#160;总结&amp;#160;java&amp;#160;php&amp;#160;版本号
  6. php程序执行过程--非宏观和微观而是写的程序一行一行的路径----利用xdebug了解一段程序的执行过程----覆盖率
  7. android 获取手机设备品牌
  8. CPU调度算法
  9. js嵌套Struts2标签
  10. 分布式服务框架 Zookeeper(一)介绍