文件IO其三

1.目录操作

  目录操作和文件的逻辑类似:打开目录  >  操作目录  >  关闭目录

  对于目录来说,基本的操作就是读取子文件/子目录的信息,所以操作目录其实只有一个操作,就是读取目录。

  a.打开目录  opendir()函数

   

   参数: name  要打开的路径

  函数执行成功之后会返回目录流指针,失败则返回NULL。

  b.关闭目录  closedir()函数

  

   传入要关闭的目录流指针(opendir函数的返回值)

  c.读取目录  readdir()函数

   readdir函数每调用一次就会独处该目录下的一个子项(不会重复),当所有的子项读取完之后,再调用该函数,就会返回NULL。读取出的子项信息就在返回值结构体中。

  

struct dirent {
               ino_t          d_ino;       /* Inode 值 */
               off_t          d_off;       /* 记录的偏移 */
               unsigned short d_reclen;    /* 记录长度 */
               unsigned char  d_type;      /* 文件类型; not supported by all filesystem types */
    
               DT_BLK   /*块设备*/
               DT_CHR  /*字符设备*/
               DT_DIR  /*目录*/
               DT_FIFO /*管道文件*/
               DT_LINK /*链接文件*/
               DT_REG  /*普通文件*/
               DT_SOCK  /*套接字文件*/
               DT_UNKONWN  /*未知文件*/
                
               char           d_name[256]; /* 文件名 */
           };
        

PS:如果有错误麻烦指出来,大家互相学习 0-0

猜你喜欢

转载自www.cnblogs.com/smallqizhang/p/12381061.html