Linux c 目录操作函数scandir
来源:互联网 发布:一个都不能少影评知么 编辑:程序博客网 时间:2024/05/24 04:43
相关函数:opendir, readdir, alphasort
表头文件:#include <dirent.h>
定义函数:int scandir(const char *dir, struct dirent **namelist, nt (*select) (const struct dirent *), nt (*compar) (const struct dirent **, const struct dirent**));
函数说明:scandir()会扫描参数dir指定的目录文件,经由参数select指定的函数来挑选目录结构至参数namelist数组中,最后再调用参数compar指定的函数来排序namelist数组中的目录数据。每次从目录文件中读取一个目录结构后便将此结构传给参数select所指的函数, select函数若不想要将此目录结构复制到namelist数组就返回0,若select为空指针则代表选择所有的目录结构。scandir()会调用qsort()来排序数据,参数compar则为qsort()的参数,若是要排列目录名称字母则可使用alphasort(). 结构dirent定义请参考readdir()
返回值 :成功则返回复制到namelist数组中的数据结构数目,有错误发生则返回-1
错误代码:ENOMEM 核心内存不足
#include <stdio.h>#include <dirent.h>int main(){ int n; struct dirent **namelist; n=scandir("./",&namelist,0,alphasort); while(n--) { printf("%s\n",namelist[n]->d_name); } return 0;}
/* 读取 / 目录下文件名长度大于5的目录结构 */#include <dirent.h>int select(const struct dirent *dir){ if(strlen(dir->d_name) > 5) return 1; else return 0;}main(){ struct dirent **namelist; int i, total; if(total < 0) perror("scandir"); else { for(i=0; i<total; i++) printf("%s/n", namelist->d_name); printf("total = %d/n", total); }}
- Linux c 目录操作函数scandir
- Linux c 目录操作函数scandir
- Linux c 目录操作函数scandir
- Linux c目录操作函数scandir
- Linux c 目录操作函数scandir
- Linux c 目录管理—目录简单遍历 opendir、readdir、scandir
- 扫描dir目录函数之scandir()
- linux 下scandir显示指定目录下文件代码 c 实现
- C语言测试。自己实现scandir 函数
- scandir 函数
- Linux下利用scandir判断是目录还是文件详解
- 使用linux c 目录操作函数,读取任一目录下的所有目录信息文件信息
- PHP - Manual手册 - 函数参考 - Directory 目录函数 - scandir列出指定路径中的文件和目录
- Linux 目录操作的函数
- linux -> C/C++ 目录操作
- PHP scandir() 函数
- linux scandir 的使用
- linux scandir 的使用
- 关于在windows下memcache的安装和使用
- 1015. Reversible Primes
- 图形图像平面几何变换类(C++版)
- 第四篇 ANDROID窗口管理服务实现机制 窗口管理是ANDROID框架一个重要部分,主要包括如下功能: (1)Z-ordered的维护 (2)窗口的创建、销
- java的socket通信
- Linux c 目录操作函数scandir
- 程序员面试什么最重要?
- 科目四的题目你让我情何以堪
- 省市选择器
- TEST
- 使用HttpModule(给页面添加页头和页尾,重写URL)
- 如何成为编程高手?(高手秘笈)
- menuconfig过程详解
- mysql带输出参数存储过程(备忘)