0

这是在 C

我想知道是否可以 fread() 到缓冲区的某个索引。

例如:

fread(缓冲区[10],1,5,文件)

缓冲区[10] = 某事 缓冲区[11] = 某事 ... ... 缓冲区[14] = 某事

这有可能吗?这需要在没有任何额外缓冲区的情况下完成。(严格的内存限制)

谢谢!

4

3 回答 3

1
fread(buffer+10, 1, 5, file);

应该这样做。我相信您确保计数在缓冲区限制内。

于 2013-02-02T20:30:01.327 回答
1

您需要提供指向要存储数据的位置的指针。有两种方法可以做到这一点(但实际上它只是相同的方式,但语法不同)。

  1. 使用地址运算符&&buffer[10]

  2. 要使用指针算术:buffer + 10

于 2013-02-02T20:30:49.907 回答
0

fread 的第一个参数是指针。在这种情况下,您可以这样做: fread(buffer+10, 1, 5, file) 您将获得所需的行为。那是因为 buffer+i 是指向数组“buffer”的第 i 个单元的指针。

于 2013-02-02T20:30:49.857 回答