gpt4 book ai didi

c - fread 是否移动文件指针?

转载 作者:太空狗 更新时间:2023-10-29 16:32:54 25 4
gpt4 key购买 nike

简单的问题,

当我使用 fread 时:

fread(ArrayA, sizeof(Reg), sizeBlock, fp);

我的文件指针 fp 向前移动了?

最佳答案

回答:是的,文件指针的位置在读取操作后自动更新,以便连续的fread()函数读取连续的文件记录。

说明: fread() 是面向 block 的函数。标准原型(prototype)为:

size_t fread(void *ptr,
size_t size,
size_t limit,
FILE *stream);

函数从stream指向的流中读取,并将读取到的字节放入ptr指向的数组中,当出现以下任一情况时,将停止读取是真的:

  • 它已经读取了 limit 个大小为 size 的元素,或者
  • 到达文件末尾,或者
  • 发生读取错误。

fread() 为您提供与 fgetc() 一样多的控制权,并且具有能够在单个 I/O 操作中读取多个字符的优势.事实上,如果内存允许,您可以将整个文件读入一个数组并在内存中完成所有处理。这具有显着的性能优势。

fread() 通常用于将固定长度的数据记录直接读取到结构中,但您可以使用它来读取任何文件。这是我阅读大多数磁盘文件的个人选择。

关于c - fread 是否移动文件指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10696845/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com