C语言fread为什么会读取失败呢?

为什么后面的数据读取会失败呢?

  •  

  •  

  •  




烙印99
浏览 2377回答 3
3回答

守着一只汪

fread是用来读取文件的函数,其形式为size_t fread ( void *buffer, size_t size, size_t count, FILE *file) ;功能为从文件指针file中,每次读取size长度数据,读取count次,并将结果存到buffer中。其出错的可能原因包括:1 文件没有打开,或打开失败。即文件指针非法。当文件不存在,或用户对文件没有读权限,目标文件被占用等情况下,打开文件会失败,这时file指针值为NULL。2 文件打开时,并没有指定读属性。3 文件IO错误。如在文件打开后,文件被其它程序强制删除,或取消可读属性等。4 文件达到文件尾。如果文件已经读到文件尾,不存在size*count字节的可读数据,fread会出错。5 传入的buffer非法。如buffer为空,或buffer拥有的空间不足以存储size*count字节的数据,导致越界访问。以上即为常见的fread读操作出错的原因。实际出错的时候,需要结合现象及代码综合分析才能得到准确的结果。
打开App,查看更多内容
随时随地看视频慕课网APP