返回信息流数据记录在很多文件里,文件名称是按时间(比如按小时)进行命名的,每个文件每行都是一包16进制的数据源码(每行最大是65536个16进制数)比如
1F 2B 33 44 19
AB CD EF 12 1F
13 45 36 76 98 07 53
上面为三行数据,如果用户在界面上输入1F ,则在界面上应能显示包含1F的前两行数据,有无比较好的方法,或是类,可以做这件事情,最好支持跨文件(比如在多个文件中搜索关键字)。
希望大牛们能提供思路
这是一条镜像帖。来源:北邮人论坛 / cpp / #89431同步于 2015/11/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
VC 实现文本数据查询
gatusokaka
2015/11/10镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
记得C++ primer中文第四版,在关联容器那一章,最后用关联容器实现的文本查询功能跟你这个有点类似。
大意是要用map将数据跟所在行关联起来,你这里是多文件要稍微变通一下。
这不就是grep嘛,人家早就已经做好了。
$ cat foo.txt
what's up
someone set up us the bomb
we get signal
main screen turn on
it's you
how are you gentleman
all your base are belong to us
you are on your way to destruction
you have no choice take your time
ha ha ha ha ha ha
$ grep you foo.txt # 打印所有包含“you”的行
it's you
how are you gentleman
all your base are belong to us
you are on your way to destruction
you have no choice take your time
$ grep you foo.txt | head -n 2 # 打印前两个包含“you”的行。
it's you
how are you gentleman
【 在 moonfighting 的大作中提到: 】
: 用两个map,一个map记录每个词所在的行号,另一个map记录每一行的词
大神,能否说的具体些