美文网首页
15.读取目录文件

15.读取目录文件

作者: 辉神来了 | 来源:发表于2019-10-30 15:09 被阅读0次
opendir与readdir函数
  • opendir打开一个目录后得到一个DIR类型的指针给readdir使用
  • readdir函数调用一次就会返回一个struct dirent类型的指针,这个指针指向一个结构体变量,这个结构体变量里面记录了一个目录项(所谓目录项就是目录中的一个子文件)。
  • readdir调用一次只能读出一个目录项,要想读出目录中所有的目录项必须多次调用readdir函数。readdir函数内部户记住哪个目录项已经被读过了哪个还没读,所以多次调用后不会重复返回已经返回过的目录项。当readdir函数返回NULL时就表示目录中所有的目录项已经读完了。

dirent结构体

可重入函数介绍
  • 有些函数是可重入的有些是不可重入的
  • readdir函数和我们前面接触的一些函数是不同的,首先readdir函数直接返回了一个结构体变量指针,因为readdir内部申请了内存并且给我们返回了地址。多次调用readdir其实readir内部并不会重复申请内存而是使用第一次调用readdir时分配的那个内存。这个设计方法是readdir不可重入的关键。
  • readdir在多次调用时是有关联的,这个关联也标明readdir函数是不可重入的。
  • 库函数中有一些函数当年刚开始提供时都是不可重入的,后来意识到这种方式不安全,所以重新封装了C库,提供了对应的可重复版本(一般是不可重入版本函数名_r)

相关文章

  • 15.读取目录文件

    opendir与readdir函数 opendir打开一个目录后得到一个DIR类型的指针给readdir使用 re...

  • php 常用文件操作

    读取目录下所有文件 创建目录所有文件 写入缓存 读取缓存

  • python3 读取文本文件

    读取文件内容 读取目录下所有文件的内容

  • Android中文件的读写操作

    一、读取assets目录下的文件 二、读取raw目录下的文件 三、读取手机存储文件(内置) 四、写入到手机存储(内...

  • 04-Nextflow 文件和I/O

    基本读/写, 逐行读取文件, 高级文件读取操作, 高级文件写入操作, 列出目录内容, 创建目录, 创建链接, 复制...

  • Python文件目录操作

    读取当前目录:os.getcwd 更改当前目录:os.chdir 读取当前目录文件和文件夹:os.listdir(...

  • Golang文件操作

    目录相关 文件相关读取文件 写入文件

  • JavaScript之狗血笔记

    上传文件或目录 读取文件 调用FileReader对象的方法 (FileReader接口提供了读取文件的...

  • Node.js fs模块-readdir()方法

    一. readdir()方法-->读取目录 1. 获得指定目录下,所有文件的列表 2. 读取a文件夹中的所有文件列...

  • linux RWX权限的解读

    一、RWX r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有 浏览 目录的权限。 w(W...

网友评论

      本文标题:15.读取目录文件

      本文链接:https://www.haomeiwen.com/subject/vbsdyctx.html