ls命令的简单实现

来源:互联网 发布:我的世界版本 知乎 编辑:程序博客网 时间:2024/05/18 01:56

对其中的几个重要结构体和函数解说一下。

opendir

opendir()用来打开参数 name指定的目录,并返回 DIR*形态的
目录流, open()类似,接下来对目录的读取和搜索都要使用此返回值,
成功则返回 DIR*型态的目录流,打开失败则返回 NULL

readdir()
返回参数 dir目录流的下个目录进入点。   结构 dirent定义
如下:
struct dirent

{
    longd_ino;                /* inode number */索引节点号
    off_td_off;               /* offset to this dirent */
在目录文件中的偏移
    unsigned shortd_reclen;    /* length of this d_name */
文件名长
    unsigned chard_type;         /* the type of d_name */
文件类型    
    char d_name[NAME_MAX+1];   /* file name (null-terminated) */
文件名,最长255字符
}

    成功则返回下个目录进入点。有错误发生或读取到目录文件尾则返回 NULL

0 0
原创粉丝点击