博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
纯C,拿取文件夹的所有文件,并套出列表
阅读量:4614 次
发布时间:2019-06-09

本文共 1312 字,大约阅读时间需要 4 分钟。

//构造体

typedef struct FilesArrayStruct {

    char** fileArray;
    int arraySize;
} FilesArrayStruct_t;

 

//函数

FilesArrayStruct_t getFilesArray(const char *dirName)

{
    FilesArrayStruct_t FilesArrayStruct_p;
    FilesArrayStruct_p.arraySize=0;
    DIR *dirp;
    struct dirent *dp;
    dirp = opendir(dirName);
    while ((dp = readdir(dirp)) != NULL) {
        if(strcmp(dp->d_name,"..")==0)continue;
        if(strcmp(dp->d_name,".")==0)continue;
        FilesArrayStruct_p.arraySize++;
    }
    (void) closedir(dirp);
    if (FilesArrayStruct_p.arraySize > 0)
    {
        FilesArrayStruct_p.fileArray=(char**)malloc(sizeof(char*)*FilesArrayStruct_p.arraySize) ;
        for(int i=0; i<FilesArrayStruct_p.arraySize; i++)
            FilesArrayStruct_p.fileArray[i]=(char*)malloc(256);
    }
    int i=0;
    dirp = opendir(dirName);
    while ((dp = readdir(dirp)) != NULL) {
        if(strcmp(dp->d_name,"..")==0)continue;
        if(strcmp(dp->d_name,".")==0)continue;
        FilesArrayStruct_p.fileArray[i]=(char*)malloc(strlen(dp->d_name)+1) ;
        FilesArrayStruct_p.fileArray[i]=dp->d_name;
        i++;
    }
    (void) closedir(dirp);
    return FilesArrayStruct_p;
}

 

//测试

int test6()

{
    FilesArrayStruct_t FilesArrayStruct_p= getFilesArray("/home/test/CWork/Json");
    for(int i=0;i<FilesArrayStruct_p.arraySize;i++)
    {
        printf("FilesArrayStruct_p.fileArray[%d]:%s\n",i,FilesArrayStruct_p.fileArray[i]);
    }
    return 0;
}

转载于:https://www.cnblogs.com/orangezs/p/8575016.html

你可能感兴趣的文章
Linux的基本命令+深入一点的网址分享
查看>>
(C#) Encoding.
查看>>
BZOJ 2154: Crash的数字表格 [莫比乌斯反演]
查看>>
nrf51 SDK自带例程的解读
查看>>
SESSION技术
查看>>
数据结构(五)之直接插入排序
查看>>
SQL函数——LENGTH()和LENGTHB()
查看>>
vim - manual -个人笔记
查看>>
为什么我们程序员难晋升
查看>>
详解Javascript中prototype属性(推荐)
查看>>
angularjs实现首页轮播图
查看>>
Git 对象 和checkout 和stash的笔记
查看>>
团队项目总结2-服务器通信模型和顺序图
查看>>
hdu 1085 Holding Bin-Laden Captive!
查看>>
[周记]8.7~8.16
查看>>
递归定义
查看>>
kindeditor 代码高亮设置
查看>>
Linux系统学习之网络管理
查看>>
2013年3月14日总结
查看>>
学如逆水行舟,不进则退。
查看>>