C - fread() 到缓冲索引



这是在C中

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

例如:

fread(buffer[10],1,5,file)

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

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

谢谢!

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

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

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

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

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

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

最新更新