fread多次读取如何操作

现有一个里面有1500个数据的文本,要求每次读取160个文件,连续读取10次。第一次读取前1-160个,第二次161-132。。。之后再继续进行别的工作。。恩。。我把读取... 现有一个里面有1500个数据的文本,要求每次读取160个文件,连续读取10次。第一次读取前1-160个,第二次161-132。。。
之后再继续进行别的工作。。恩。。我把读取这点的程序贴上来。。
while(eof_reached==0)
{
number=fread(buffer,sizeof(float),160,fp_in);
if(number<160)
{
eof_reached=1;
break;
}
.......(程序其他部分,粘上来太大,省略下)
}
这样的写法是一直重复读开头的160个数据吧?那么在第二次想要读接下去的160个如何呢?
唔。。新手。。希望大家帮帮忙T_T
eof_reached就是做判断用的。。
我想的是当前9次number=160时做后面的操作,最后一次因为number小于160于是跳出。。但是一直读的就是前面的数据,后面的都读不到。。
展开
 我来答
百度网友a3722676e
推荐于2016-08-25 · TA获得超过1215个赞
知道小有建树答主
回答量:957
采纳率:0%
帮助的人:862万
展开全部
while(number=fread(buff, 1, 160, fp+in))
{
处理
}
这个代码就是读取文本。而不是循环读头160个字节
fread一次后fp_in的指针已经向后偏移的160
圣鸾OJ
2015-10-06 · TA获得超过1629个赞
知道小有建树答主
回答量:1136
采纳率:96%
帮助的人:111万
展开全部
number=fread(buffer,sizeof(float),160,fp_in);
后面加上文件偏移fseek(pFile, 160, fp_in);

int nSize = 0;
while(eof_reached==0)
{
nSize + =160;
number=fread(buffer,sizeof(float), 160,fp_in);
fseek(fp_in, nSize, 0);
if(number<160)
{
eof_reached=1;
break;
}
.......(程序其他部分,粘上来太大,省略下)
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友14e1783
2011-04-20 · TA获得超过251个赞
知道小有建树答主
回答量:142
采纳率:0%
帮助的人:144万
展开全部
number=fread(buffer,sizeof(float),160,fp_in);
后面加上文件偏移fseek(pFile, 160, fp_in);

int nSize = 0;
while(eof_reached==0)
{
nSize + =160;
number=fread(buffer,sizeof(float), 160,fp_in);
fseek(fp_in, nSize, 0);
if(number<160)
{
eof_reached=1;
break;
}
.......(程序其他部分,粘上来太大,省略下)
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式