免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3347 | 回复: 5
打印 上一主题 下一主题

请教:打开文件后如何逆序读文件? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-01-24 16:38 |只看该作者 |倒序浏览
我要查找匹配的string大多数都在文件比较靠后的位置,如何才能从文件末端开始往开头读文件?或是否可以逆序打开文件?

论坛徽章:
0
2 [报告]
发表于 2005-01-24 17:08 |只看该作者

请教:打开文件后如何逆序读文件?

用reverse可以将打开的文件逆序读出。
不过偶觉得没必要吧,想查找哪个串直接查得了,或者用seek

至于是否可以逆序打开文件?偶就不知道了

论坛徽章:
0
3 [报告]
发表于 2005-01-24 20:30 |只看该作者

请教:打开文件后如何逆序读文件?

用open打开文件时将偏移量设置到文件末尾,然后read就可以了

论坛徽章:
0
4 [报告]
发表于 2005-01-25 09:31 |只看该作者

请教:打开文件后如何逆序读文件?

[quote]原帖由 "superdoctor"]用open打开文件时将偏移量设置到文件末尾,然后read就可以了[/quote 发表:

如何设置偏移量?例如文件为aa.txt,,每次要查找$string并发回匹配的该行.

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
5 [报告]
发表于 2005-01-25 12:43 |只看该作者

请教:打开文件后如何逆序读文件?

不用那麼麻煩吧..把file讀進array
從array最後一個開始讀就好了...
比較容易吧?

论坛徽章:
0
6 [报告]
发表于 2005-01-25 15:37 |只看该作者

请教:打开文件后如何逆序读文件?

把文件读入array其实是已经将文件从头到尾循序的读了一遍了的,然后在用数组从后面处理起其实效率要低很多的

设置偏移量不需要手动设置,你直接读出多少字节然后下次在读入的时候就是以上次操作的位置开始的
比如不停的抓1024字节来判断,先去掉两头‘\n’后的内容,剩下的就匹配就行了,整个文件循环一次,效率应该是最高的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP