首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用lseek访问特定记录

使用lseek访问特定记录
EN

Stack Overflow用户
提问于 2011-03-25 13:03:31
回答 3查看 196关注 0票数 0

有没有可能在不知道每个记录的大小的情况下访问文本文件中的特定记录(使用特定的索引)?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-25 13:07:57

如果您维护一个单独的记录偏移量索引,那么您可以简单地查询它以查找适当的位置。否则,不会。

票数 3
EN

Stack Overflow用户

发布于 2011-03-25 13:21:56

如果记录恰好在一个方便的键上排序,并且您可以确定一条记录的结束位置和另一条记录的开始位置,那么您可以实现二进制或插值搜索方法。您也许能够将其添加到您的文本文件格式中,以帮助查找。否则,你只能从已知索引的位置进行连续搜索(很明显,文件的开头是1,如果你知道可以从文件末尾向后搜索的记录总数)。您还可以考虑执行一次遍历来创建索引以允许直接访问,或者让文件嵌入一个可以轻松读取的偏移量列表。

票数 0
EN

Stack Overflow用户

发布于 2011-03-26 06:33:20

查看dbopen()函数。如果将DB_RECNO作为类型参数传递,则可以访问可变长度的记录。这些记录可以用换行符分隔。从本质上讲,您的“数据库”是一个平面文本文件。

API还可以方便地为您处理插入和删除操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5428725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档