Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103465
  • 博文数量: 41
  • 博客积分: 2520
  • 博客等级: 少校
  • 技术积分: 440
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-22 16:25
文章分类

全部博文(41)

文章存档

2010年(41)

我的朋友

分类: LINUX

2010-02-01 13:57:32

readdir(3)返回的文件顺序,与struct dirent中d_off的值相关,和inode号的大小没有关系。
 

#include <sys/types.h>
#include <dirent.h>
#include <stdio.h>

int main()
{
        DIR *dirp;
        struct dirent *dp;

        dirp = opendir(".");
        while (dp = readdir(dirp)) {
                printf("%s: \toff=%011d\n", dp->d_name, dp->d_off);
        }

        return 0;
}

// struct dirent
// {
// long d_ino; /* inode number */
// off_t d_off; /* offset to this dirent */
// unsigned short d_reclen; /* length of this d_name */
// char d_name [NAME_MAX+1]; /* filename (null-terminated) */
// }


/*
  # ./readdir
  file2: off=00581882856
  .:     off=01047962852
  file3: off=01376021557
  dir2:  off=01431881775
  dir1:  off=01558077073
  file1: off=01576748262
  ..:    off=02147483647
 */


阅读(714) | 评论(0) | 转发(0) |
0

上一篇:install xen-unstable.hg

下一篇:hg vs git

给主人留下些什么吧!~~