关于二进制文件结尾的问题

关于二进制文件结尾的问题,第1张

函数名: feof 功 能: 检测流上的文件结束符 用 法: int feof(FILE *stream)返回值: 如果遇到文件结束,函数feof(fp)的值为1,否则为0。EOF是文本文件结束的标志。在文本文件中,数据是以字符的ASCⅡ代码值的形式存放,普通字符的ASCⅡ代码的范围是32到127(十进制),EOF的16进制代码为0x1A(十神脊进制为26),因此可以用EOF作为文件结束标志。PS: 对文本文件的结束判断可以看文件末尾是否读到EOF控制字符。但是对于二进制文件来说,所有的内容都是以10101的形式存储的,因此在文件的末尾可能存在-1的情况,这样就不能用EOF作为二进制文件末尾的标识。对于以上的问题,游肆渗标准C提供了feof()这个方法来统一判断读取文件是否结束,而不用担心是文本文件还是二进制文件。正如上面所示,这个feof()方法的返回值只有两个0或1。如果你用fgetc()函数逐个读取文件中的字符,并判断读取是否结束,如果是二进制文件那个读取到的字符就可能是-1值,就不是EOF——也就是说二进制文件不雹模能这么判断文件是否读取结束

新读取后,拆咐文件句柄槐御拿返回EOF

fread(buffer,1,1,fp)

if ( feof(fp) ) printf("已经达到文件结尾。铅搭\n")


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12149969.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存