首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

求教高手,关于海量数据文本的读取筛选有关问题

2012-02-04 
求教高手,关于海量数据文本的读取筛选问题!有一个超大型文本,例如有100万行,每行内容多少不等,其中不时有

求教高手,关于海量数据文本的读取筛选问题!
有一个超大型文本,例如有100万行,每行内容多少不等,其中不时有如下有规律内容出现
RLB   04   :   08   02   8F   19   43   C0   01   2B   2B   2B   2B   2B   2B   2B   2B   2B  
                  2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B  
                  2B   2B   B2   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B  
                  2B   2B   2B   2B   2B   7F  
RMB   04   :   00   02   6E   19   43   C0   01   2B   2B   2B   2B   2B   2B   2B   2B   2B  
                  2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B  
                  2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B  
                  2B   2B   2B   2B   2B   7F  
RCB   04   :   08   01   6E   19   43   C0   01   2B   2B   2B   2B   2B   2B   2B   2B   2B  
                  2C   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B  
                  2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B  
                  2B   2B   2B   2B   2B   7F  
RGB   04   :   08   02   51   19   43   C0   01   2B   2B   2B   2B   2B   2B   2B   2B   2B  
                  2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B  
                  2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B  
                  2B   2B   2B   2B   2B   7F  
RMB   04   :   08   05   96   19   43   C0   01   2B   2B   2B   2B   2B   2B   2B   2B   2B  
                  2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B  
                  2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B   2B  
                  2B   2B   2B   2B   2B   7F  


.....................................................
从中读取   标签是RMB   04   :及后面跟着的数据,(数据内容均不一样)然后输入到一个文本中,怎么样实现?还请各位高手给个思路,关键是文件内容超多,不好用数组!

[解决办法]
"RMB 04.... " 如果是一行的话
这样可以:
while(fgets(buf,MAX,fp) != NULL) //取一行,MAX自己设:1024应该够吧
{
if(strstr(buf, "RMB 04 ") != NULL)
{
//store buf here;
fputs(buf,rmbfp);
}
}


[解决办法]

hailongchang(什么时候才能看到星星啊。。。)俺没有那本书,方便地话 给我发一份吧!
superboy888pq@163.com 谢过,先!

--------------------------------

我给你传吧,QQ:535260440
[解决办法]
内存映射 将整个大文本映射掉

然后每次读一定大的内存。

然后进行分析。
[解决办法]
linux 命令里有个grep,和你提到的功能类似,你可以参考一下它的源码ftp://ftp.gnu.org/gnu/grep/

热点排行