您的位置:首页 > 运维架构 > Linux

使用linux c 目录操作函数,读取任一目录下的所有目录信息文件信息

2016-06-07 00:07 1146 查看
# include <stdio.h>

# include <string.h>

# include <stdlib.h>

# include <unistd.h>

# include <dirent.h>

# include <sys/types.h>

int re_readdir(char name[])

{

    char str[1000] = {0};

    //把目录路径存放在字符数组内

    strcpy(str, name);

    printf("%s\n", str);

    //打开目录

    DIR *dir = opendir(str);

    if(NULL == dir)

    {

        perror("opendir");

        return -1;

    }

    //如果打开成功,则循环读取目录

    struct dirent *ent = readdir(dir);

    while(NULL != ent)

    {

        strcpy(str,name);

        printf("name = %s: type = %d\n", ent->d_name, ent->d_type);

        if(4 == ent->d_type && strcmp(ent->d_name, ".") && strcmp(ent->d_name, ".."))

        {

            re_readdir(strcat(strcat(str,ent->d_name), "/"));

        }

        ent = readdir(dir);

    }

    closedir(dir);

    return 0;

}

int main(void)

{

    re_readdir("/home/tarena/uc/");

    return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: