2013-02-02 147 views
0

这是在CC - fread()缓冲区索引

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

例如:

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

缓冲器[10] =东西 缓冲器[11] =东西 ... ... 缓冲区[14] =东西

这是可能以某种方式?这需要在没有任何额外缓冲区的情况下完成。 (内存紧张限制)

谢谢!

回答

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

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

0

fread的第一个参数是指针。在这种情况下,你可以这样做:fread(buffer + 10,1,5,file),你会得到想要的行为。这是因为buffer + i是指向数组“buffer”的第i个单元格的指针。

1

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

  1. 使用地址的运营商&的:&buffer[10]

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