Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 使用read函数读取特定行_C - Fatal编程技术网

C 使用read函数读取特定行

C 使用read函数读取特定行,c,C,假设我有一个包含1000行的二进制文件data.bin,它是使用fwrite编写的。为了阅读它,我只需要做一些类似的事情(其中data是一个大小为1000的双缓冲区): 这将读取整个文件,但我只读取最后的500行!!这意味着我必须跳转到data.bin中的第499行,并从那里开始读取,直到结束。如何修改先前的fread函数以读取最后500行 谢谢。您知道fseek()函数吗。您需要将指针设置为从最后500行开始,然后读取直到eof 查找fseek(),您将能够解决此问题 fseek!!我还没读过

假设我有一个包含1000行的二进制文件
data.bin
,它是使用
fwrite
编写的。为了阅读它,我只需要做一些类似的事情(其中
data
是一个大小为1000的双缓冲区):

这将读取整个文件,但我只读取最后的500行!!这意味着我必须跳转到
data.bin
中的第499行,并从那里开始读取,直到结束。如何修改先前的
fread
函数以读取最后500行

谢谢。

您知道fseek()函数吗。您需要将指针设置为从最后500行开始,然后读取直到eof

查找fseek(),您将能够解决此问题


fseek
!!我还没读过。谢谢你让我知道,好吗?你会使用什么偏移量?这可以形成一个正确的答案,因为OP似乎并不真正意味着“行”…很明显,用户正在使用double的大小来计算文件中的位置,所以这个答案确实是正确的relevant@iiiiiii相关的,甚至可能是正确的方向,但到目前为止还没有答案。最好在回答之前等待澄清,重复问题中误导性的措辞确实不是一个好主意。也就是说,问题的副本也是错误的,应该重新打开。二进制文件中的“行”是什么?请澄清你的意思。
FILE *fp = fopen("data.bin", "rb");
fread(data, sizeof(double), (1000*sizeof(double),fp);