C - fread()缓冲索引

时间:2013-02-02 20:28:05

标签: c buffer fread

这是在C

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

例如:

的fread(缓冲液[10],1,5-,文件)

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

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

谢谢!

3 个答案:

答案 0 :(得分:1)

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

应该这样做。我相信你确保计数在缓冲限制范围内。

答案 1 :(得分:1)

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

  1. 使用地址操作员&&buffer[10]

  2. 使用指针算法:buffer + 10

答案 2 :(得分:0)

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