scandir函数详解

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

时间: 2024-11-30 15:21:29

scandir函数详解的相关文章

jQuery.extend 函数详解

JQuery的extend扩展方法:       Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去了解了解.       一.Jquery的扩展方法原型是: extend(dest,src1,src2,src3...);       它的含义是将src1,src2,src3...合并到dest中,返回值为合并后的dest,由此可以看出该方法合并后,是修改了dest的结构的.如果想要得到合并的结果却又不想修改dest的结构,可以如下使用:

XSL系列函数详解

函数|详解 转载于:中国XML论坛 本期介绍多个XSL对于VBScript.JScript增加的方法.属性,以充分发挥XML的优势,用于< xsl:script >.< xsl:eval >标记内表达式的编写或< xsl:if >.< xsl:when >的expr属性. 一.absoluteChildNumber  含义:返回结点相对于它所有的兄弟(不论名字是否相同)的序号 语法:absoluteChildNumber(node) 参数:node ── 对

DateDiff 函数详解

函数|详解 DateDiff 函数 描述 返回两个日期之间的时间间隔. 语法 DateDiff(interval, date1, date2 [,firstdayofweek][, firstweekofyear]]) DateDiff 函数的语法有以下参数: 参数 描述 interval 必选.字符串表达式,表示用于计算 date1 和 date2 之间的时间间隔.有关数值,请参阅"设置"部分. date1, date2 必选.日期表达式.用于计算的两个日期. firstdayofw

ASP的函数详解-1

函数|详解 Array() FUNCTION: 返回一个数组 SYNTAX: Array(list) ARGUMENTS: 字符,数字均可 EXAMPLE: <% Dim myArray() For i = 1 to 7 Redim Preserve myArray(i) myArray(i) = WeekdayName(i) Next %> RESULT: 建立了一个包含7个元素的数组myArray myArray("Sunday","Monday",

ASP的函数详解-2

函数|详解 LCase() FUNCTION: 返回字符串的小写形式 SYNTAX: Lcase(string) ARGUMENTS: string is any valid string expression. EXAMPLE: <% strTest = "This is a test!" response.write LCase(strTest) %> RESULT: this is a test! Left() FUNCTION: 返回字符串左边第length个字符以

ASP中限制IP函数详解

函数|详解 '******************************'Function CheckIp(cInput_Ip,cBound_Ip)'Created by qqdao, qqdao@263.net 2001/11/28'说明:首先需要根据;号循环,然后判断是否含有"-",如果有则进行拆分处理,最后判断是否在范围内'参数: cInput_Ip,代检查的ip'cBound_Ip,给定的范围格式为,单个ip,和范围ip,范围ip最后使用"-"分割,如果是

PL/SQL单行函数和组函数详解

函数|详解 函数是一种有零个或多个参数并且有一个返回值的程序.在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类: 单行函数 组函数 本文将讨论如何利用单行函数以及使用规则. SQL中的单行函数 SQL和PL/SQL中自带很多类型的函数,有字符.数字.日期.转换.和混合型等多种函数用于处理单行数据,因此这些都可被统称为单行函数.这些函数均可用于SELECT,WHERE.ORDER BY等子句中,例如下面的例子中就包含了TO_CHAR,UPPER

收藏:ASP的函数详解大汇总

函数|详解 ASP的函数详解 join(expression,"连接符") split :接收相关的参数,使之成为数组. Array() FUNCTION: 返回一个数组 SYNTAX: Array(list) ARGUMENTS: 字符,数字均可 EXAMPLE: RESULT: 建立了一个包含7个元素的数组myArray myArray("Sunday","Monday", ... ... "Saturday") CInt

ASP的函数详解

函数|详解 join(expression,"连接符") split :接收相关的参数,使之成为数组. Array() FUNCTION: 返回一个数组 SYNTAX: Array(list) ARGUMENTS: 字符,数字均可 EXAMPLE: <% Dim myArray() For i = 1 to 7 Redim Preserve myArray(i) myArray(i) = WeekdayName(i) Next %> RESULT: 建立了一个包含7个元素的