这是在 C
我想知道是否可以 fread() 到缓冲区的某个索引。
例如:
fread(缓冲区[10],1,5,文件)
缓冲区[10] = 某事 缓冲区[11] = 某事 ... ... 缓冲区[14] = 某事
这有可能吗?这需要在没有任何额外缓冲区的情况下完成。(严格的内存限制)
谢谢!
fread(buffer+10, 1, 5, file);
应该这样做。我相信您确保计数在缓冲区限制内。
您需要提供指向要存储数据的位置的指针。有两种方法可以做到这一点(但实际上它只是相同的方式,但语法不同)。
使用地址运算符&
:&buffer[10]
要使用指针算术:buffer + 10
fread 的第一个参数是指针。在这种情况下,您可以这样做: fread(buffer+10, 1, 5, file) 您将获得所需的行为。那是因为 buffer+i 是指向数组“buffer”的第 i 个单元的指针。