现在的位置: 首页 > 综合 > 正文

对判断读取文件结束的一点心得

2019年10月13日 ⁄ 综合 ⁄ 共 525字 ⁄ 字号 评论关闭

之前遇到过这一个问题,用了先读取再判断是否到文件结尾,来判断读取的内容是否有效。但是当时只是大概地了解了一下,并没有很好地去理解。

前两天,应用的时候都没有想起这个处理方式,后来发现文件读取有问题。找了相关资料,再加上看了一个提问(如何判断读取文件结束)中各位高手的见解。终于有了点眉目。

对于其他,上面那些高手说了很多,我也不多说。根据高手们的见解,再结合我自己一情况,读到文件结尾(测试的时候我们自己知道)有两种情况。简单地说,我是按行来读取文件的,文件结尾有两种情况。1) 最后一行没有敲回车;2) 最后一行内容结束敲了一个回车。

现在来分析,第一种情况:读最后一行的时候,读到文件结束,读入内容,并作了文件结束标志。这是读取的内容时有的,eof判断是已经到文件结尾了。第二种情况:读最后一行,这里是遇到回车,读取结束,读入内容,但是,这时候没有标志文件结束,eof判断的时候得到的结果就是文件没有结束,但内容已经读取完了,在下一次读取的时候,没有读到内容,而且标志文件结束。

这种类似的问题还会出现在读取整数等其他情况下。

所以,先读再eof判断,在第一种情况下会使最后一行的数据丢失。实际应该先eof判断,再在读取数据的时候进行判断,可以达到想要的结果。

抱歉!评论已关闭.