码迷,mamicode.com
首页 > 其他好文 > 详细

readdir_r()读取目录内容

时间:2014-05-12 13:34:35      阅读:914      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   java   c   

readdir()在多线程操作中不安全,Linux提供了readdir_r()实现多线程读取目录内容操作。

bubuko.com,布布扣
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>

int main(void)
{
    DIR* dirp;
    struct dirent *dp1=malloc(sizeof(struct dirent));
    struct dirent *dp2=malloc(sizeof(struct dirent));
    dirp=opendir(".");
    while(1)
    {
        if((readdir_r(dirp,dp1,&dp2))!=0)
        {
            perror("readdir_r");
            exit(EXIT_FAILURE);
        }
        if(dp2==NULL)
            break;
        if(dp2->d_name[0]==.)
            continue;
        printf("inode=%d\t",dp2->d_ino);
        printf("reclen=%d\t",dp2->d_reclen);
        printf("name=%s\n",dp2->d_name);
    }
    close(dirp);
    free(dp1);
    free(dp2);
    return 0;
}
bubuko.com,布布扣

bubuko.com,布布扣

readdir_r()读取目录内容,布布扣,bubuko.com

readdir_r()读取目录内容

标签:style   blog   class   code   java   c   

原文地址:http://www.cnblogs.com/lakeone/p/3720250.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!