【问题标题】:How does fread work?fread 是如何工作的?
【发布时间】:2015-09-16 18:45:37
【问题描述】:

我了解在各种编程语言(例如 MatLab 和 C++)中,fread 被用作读取二进制文件的一种方式。我想知道这到底是如何工作的?特别是, fread 如何知道从二进制文件中读取了一个新数字?是否有某种分隔符?

【问题讨论】:

    标签: c++ matlab fread


    【解决方案1】:

    标准 C 库函数fread 尝试从文件中读取一定数量的“对象”,并返回它能够成功读取的数量。它是系统调用 read(也是标准 C 库的一部分)的包装器,它尝试从文件中读取一定数量的 bytes,并返回它能够成功读取的数量.系统调用由操作系统实现,特别是由文件系统实现。

    虽然确切的实现细节可能很复杂(例如,由于存在缓冲区),但本质上这很简单:文件系统知道文件有多长,并将其当前偏移量(位置)存储在文件中(这实际上是文件描述符的一部分,其中有几个可以引用同一个文件)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 2019-10-25
      • 2016-03-14
      相关资源
      最近更新 更多