scandir函数详解
2009-10-30 10:51
scandir函数:读取特定的目录数据
表头文件:#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 核心内存不足
Example
#include <dirent.h>
main()
{
    struct dirent **namelist;
    int n;
    n = scandir(".", &namelist, 0, alphasort);
    if (n < 0)
        perror("scandir");
    else
    {
        while(n--)
        {
            printf("%s\n", namelist[n]->d_name);
            free(namelist[n]);
        }
        free(namelist);
    }
}

转自:http://blog.sina.com.cn/s/blog_6a113b0a0100uzb3.html

scandir函数详解相关推荐

  1. C语言:scandir函数详解

    头文件 #include <dirent.h> 函数定义 int scandir(const char *dir, struct dirent ***namelist,int (*sele ...

  2. C语言网络编程:accept函数详解

    文章目录 前言 函数描述 代码实例 如何得到客户端的IP 和 端口号 前言 当使用tcp服务器使用socket创建通信文件描述符,bind绑定了文件描述符,服务器ip和端口号,listen将服务器端的 ...

  3. 【FFmpeg】函数详解(三)

    FFmpeg函数详解 14.av_write_frame 15.av_interleaved_write_frame 16.av_write_trailer 17.avio_close 18.av_i ...

  4. 【FFmpeg】函数详解(二)

    FFmpeg函数详解 9.av_dump_format 10.avio_open 11.avformat_write_header 12.avcodec_send_frame 13.avcodec_r ...

  5. 【FFmpeg】函数详解(一)

    FFmpeg函数详解 一.错误码相关 1.AVERROR 2.av_strerror 3.其他错误码解释 二.编解码 1.获取编解码器 2.申请.释放上下文环境 3.打开编码器avcodec_open ...

  6. 【ES6】Generator函数详解

    [ES6]Generator函数详解 一.Generator函数简介 基本概念 函数写法 yield关键字介绍 二.next方法的参数 三.for...of循环 四.关于普通throw()与Gener ...

  7. mysql的聚合函数综合案例_MySQL常用聚合函数详解

    一.AVG AVG(col) 返回指定列的平均值 二.COUNT COUNT(col) 返回指定列中非NULL值的个数 三.MIN/MAX MIN(col):返回指定列的最小值 MAX(col):返回 ...

  8. python平方数迭代器_对python中的高效迭代器函数详解

    python中内置的库中有个itertools,可以满足我们在编程中绝大多数需要迭代的场合,当然也可以自己造轮子,但是有现成的好用的轮子不妨也学习一下,看哪个用的顺手~ 首先还是要先import一下: ...

  9. python基础知识~ 函数详解2

    python~函数详解2  1 生成器函数    定义 如果函数有yield这个关键字,就是生成器函数.生成器函数() 获取的是生成器,不执行函数   须知 yield和return一样,都可以返回数 ...

最新文章

  1. php 严格过滤,php 常用过滤类
  2. Python 测试开发从入门到高手成长之路
  3. vue脚手架---vue-cli
  4. python集合用法_Python 集合(Set)
  5. 牛客 Bang! Bang!(动态规划)
  6. 移动端70+fps!谷歌新出高效实时视频目标检测
  7. unity如何得到所有子对象_Unity用户手册-Mesh合批
  8. ftp 501错误_分享,HTTP协议错误代码大全
  9. Git下修改提交的author和email信息
  10. JavaScript 大小转化B KB MB GB等的转化
  11. java调用mac终端命令_JAVA之前 - mac终端命令行
  12. python正则表达式快速入门_Python 正则表达式入门
  13. mac iphone模拟器_在Mac上找到iPhone和iPad模拟器
  14. codeforces 821 B Okabe and Banana Trees
  15. log4j配置详解(非常详细转载)
  16. 【深度学习】村通网之——谈谈Tensorflow Eager Execution机制之静态图和动态图的区别(一)
  17. 最强整理!写给程序员的Flutter详细教程,大厂直通车!
  18. 欧拉工程第三题 找出一个合数的最大质数因子
  19. Vue实现自动生成二维码并实现复制下载功能:
  20. DSY2748*音量调节

热门文章

  1. 《华为数据之道》-第7章 打造“数字孪生”的数据全量感知能力
  2. echarts柱状图自定义显示内容
  3. js如何转换json字符串,js如何转换为数值型
  4. java连接sftp工具类
  5. Java join()方法的使用
  6. 格式: echo -e \033[字背景颜色;字体颜色m字符串\033[0m
  7. 挖地兔股票数据接口 tushare 初接触
  8. History 和 Hash 路由模式
  9. 网站广告1像素1元,超有创意的百万像素网站
  10. Biopython 安装