网上查下关于类似上面死循环的资料,解决方法是需要clear一下,我也看了下关于eof作为循环结束的资料,用百度应该很容易找到
下面是我的理解
先说下死循环的问题,那肯定就是!iFile.eof()永远为真,其实情况可能是两种:1,没有到达文件末尾 2,iFile流状态错误,不能再进行读写。这个死循环应该是第二种情况造成的,所以需要判断fail位,来作为跳出条件。可能也需要判断bad位,我也是初学,没实际用过。所以网上说的clear,也就是清除了流的错误状态,也就可以正常判断eof了。
改循环条件,也是参看了网上的资料http://larrycheung.blog.,里面介绍了eof的判断方式,为了避免多重复输出最后一行的问题,那么可以用iFile流是否是有效的作为判断条件,当然,那个条件可以简化的。
可能我想的也有错误,也是自己查资料想的,毕竟没啥经验。 建议你多独立思考下,多考虑下自己的代码,应该可以迎刃而解,对自己的技术也是一种提高,这是对你的建议,也是对我自己的忠告。
[ 本帖最后由 naruto01 于 2011-10-12 02:14 编辑 ]
下面是我的理解
先说下死循环的问题,那肯定就是!iFile.eof()永远为真,其实情况可能是两种:1,没有到达文件末尾 2,iFile流状态错误,不能再进行读写。这个死循环应该是第二种情况造成的,所以需要判断fail位,来作为跳出条件。可能也需要判断bad位,我也是初学,没实际用过。所以网上说的clear,也就是清除了流的错误状态,也就可以正常判断eof了。
改循环条件,也是参看了网上的资料http://larrycheung.blog.,里面介绍了eof的判断方式,为了避免多重复输出最后一行的问题,那么可以用iFile流是否是有效的作为判断条件,当然,那个条件可以简化的。
可能我想的也有错误,也是自己查资料想的,毕竟没啥经验。 建议你多独立思考下,多考虑下自己的代码,应该可以迎刃而解,对自己的技术也是一种提高,这是对你的建议,也是对我自己的忠告。
[ 本帖最后由 naruto01 于 2011-10-12 02:14 编辑 ]