scandir函数详解

简介: scandir函数详解2009-10-30 10:51scandir函数:读取特定的目录数据表头文件:#include 定义函数:int scandir(const char *dir, struct dirent **namelist, nt (*select) (const struct dir...

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

目录
相关文章
|
人工智能 测试技术 开发者
最强开源背景去除模型​RMBG v1.4
RMBG v1.4是briaai公司最先进的背景去除模型,它可以将一系列类别和图像类型中有效地将前景与背景切分
1200 0
最强开源背景去除模型​RMBG v1.4
|
SQL 分布式计算 Oracle
使用Sqoop从Oracle数据库导入数据
使用Sqoop从Oracle数据库导入数据
使用Sqoop从Oracle数据库导入数据
|
人工智能 前端开发 PyTorch
AI加速引擎PAI-TorchAcc:整体介绍与性能概述
PAI-TorchAcc(Torch Accelerator)是阿里云人工智能平台PAI开发的Pytorch上的大模型训练加速框架。PAI-TorchAcc提供了一套基于Pytorch的简洁、易用的接口,无需进行模型转换就可以无缝地接入HuggingFace上的模型,并用多种分布式策略进行训练加速。本文详细介绍PAI-TorchAcc的产品能力与性能。
|
数据安全/隐私保护
Element UI 密码输入框--可切换显示隐藏,自定义图标
Element UI 密码输入框--可切换显示隐藏,自定义图标
540 0
|
安全 网络协议 Shell
Github代码仓库SSH配置流程
这篇文章是关于如何配置SSH以安全地连接到GitHub代码仓库的详细指南,包括使用一键脚本简化配置过程、生成SSH密钥对、添加密钥到SSH代理、将公钥添加到GitHub账户以及测试SSH连接的步骤。
517 0
Github代码仓库SSH配置流程
|
JSON API 开发者
小红书 API 接口最新指南:笔记详情数据接口的接入与使用
小红书笔记详情数据接口由其开放平台提供,让开发者通过API批量获取笔记的全面信息,如标题、内容、图片及互动数据等。可用于数据分析、洞察用户行为与内容趋势,支持精准的内容创作与营销策略。使用前需注册认证并获取API密钥;依据官方文档构建与发送请求;处理JSON响应数据。注意遵守调用频率限制、保持数据更新及确保数据使用的合规性。
1511 0
|
Cloud Native 关系型数据库 Linux
十年后数据库还是不敢拥抱NUMA-续篇
写这个续篇是我收到很多解释,因为跨Node 导致性能抖动,所以集团在物理机OS 的启动参数里设置了 numa=off ,也就是不管BIOS 中如何设置,我们只要在OS 层面设置一下 numa=off 就能让程序稳定下来不再抖了! 我这几年也认为这是对的,只是让我有点不理解,既然不区分远近了,那物理上存在的远近距离(既抖动)如何能被消除掉的呢? 所以这个续篇打算通过测试来验证下这个问题
|
存储 监控 关系型数据库
快速将大规模MySQL数据同步到Doris的方法解析
NineData 采用先进的数据同步技术,确保数据实时同步到 Doris,极大地降低了数据延迟,实测 500 GB 数据传输完成仅用时 40 分钟,让您的决策基于最新数据。
1792 0
|
Arthas 存储 Java
9种OOM常见原因及解决方案
9种OOM常见原因及解决方案
1690 0
|
Java Maven
【Maven】私服
【Maven】私服
799 0
【Maven】私服