免费注册 查看新帖 |

Chinaunix

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

查找文件中最后一个匹配项的困惑,急!谢谢大家 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-09-07 08:58 |只看该作者 |倒序浏览
我遇到的问题是这样的:
有一个文件 aa,他的内容及结构如下:

        hello{
                    server 192.168.3.10;
                    client    192.168.3.12;                       
                     .......
                    }
            hello{
                    server 172.168.3.10;
                    client    172.168.3.12;                       
                     .......
                    }

这个文件是动态增加的,每次写入一个hello结构的内容,hello结构不变,
因为这个文件的最后一个hello结构是最新写入的,而且对我有用,
我想读出这个文件的最后一个hello结构的内容,
问题是:我怎么定位aa中的最后那个hello结构呢?大家有什么好方法,谢谢!

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2006-09-07 09:14 |只看该作者
或许你可以得到文件尾指针,
然后向前移动sizeof(hello)大小试试。

论坛徽章:
0
3 [报告]
发表于 2006-09-07 09:19 |只看该作者
原帖由 lenovo 于 2006-9-7 09:14 发表
或许你可以得到文件尾指针,
然后向前移动sizeof(hello)大小试试。


看楼主那个代码,好象记录是嵌套的。读时得小心点。

论坛徽章:
0
4 [报告]
发表于 2006-09-07 09:21 |只看该作者
感觉楼上说的想法很不错,只是不知道这样好不好实现。或者说这样做的效率有没有直接从文件头开始检索
hello更快一些,感觉这个方法挺像是找XML中的某个节点的问题,可以借鉴一下吧。

我其实更喜欢动态申请一块内存来存放hello结构,每次从文件头开如顺次读取hello节点,如果当下面还有

论坛徽章:
0
5 [报告]
发表于 2006-09-07 09:23 |只看该作者
接上贴:

   当下面还有hellO节点时,就用下一个节点的信息覆盖掉当前的信息,直到下一个}之后的信息不再是hello 时,结束,大伙评价一下,看看行不?

论坛徽章:
0
6 [报告]
发表于 2006-09-07 10:01 |只看该作者
sorry,那个hello的结构不是嵌套的,是并列的,呵呵

论坛徽章:
0
7 [报告]
发表于 2006-09-07 10:25 |只看该作者
移到文件末尾,向后查找'{'字符.

顺序读取的话,如果有上100万记录,你难道每次都一条一条的读吗?

论坛徽章:
0
8 [报告]
发表于 2006-09-07 10:27 |只看该作者
要逆向思维,别遇到文件就顺序读取,sigh~~

论坛徽章:
0
9 [报告]
发表于 2006-09-07 10:34 |只看该作者
可是移到文件尾是怎么办到了呢?难道文件指针是一下子就到了定位到了文件尾吗?

我对于这个不太了解。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP