读书人

fread函数使用出错解决办法

发布时间: 2012-03-24 14:00:46 作者: rapoo

fread函数使用出错
最近在使用fread时发现老是读不到数据,feof返回1,即读到了结尾,但实际上没有,因为刚刚rewind(fd)过,
只是读的文件是动态创建的,即creat创建后写入了数据,最后用fread读出来就出错了,有哪位大侠指点下,不胜感激!
代码:
creat(.....)
fopen(....)
............

rewind(fd);
memset(t_buff,0,60);
len=fread(t_buff,60,1,fd);
if(len<=0)
{
i=feof(fd);
printf("----------------err open------001--i=%d--------err=%x.\n",i,errno);
break;
}
打印结果:i=1,errno=2


[解决办法]

探讨
最近在使用fread时发现老是读不到数据,feof返回1,即读到了结尾,但实际上没有,因为刚刚rewind(fd)过,
只是读的文件是动态创建的,即creat创建后写入了数据,最后用fread读出来就出错了,有哪位大侠指点下,不胜感激!
代码:
creat(.....)
fopen(....)
……

[解决办法]
fopen 的参数都是什么?
[解决办法]
是不是 fopen 以只写方式打开 ?
导致后续的fread出错?
[解决办法]
fread之前先调用一下flush试试。

读书人网 >UNIXLINUX

热点推荐