免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: aaaaal
打印 上一主题 下一主题

linux下c怎么从一个比较大的文件中快速找一个字符串呢 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2005-09-20 14:59 |只看该作者

linux下c怎么从一个比较大的文件中快速找一个字符串呢

仅仅找一个固定的字符串,grep (实现是regexec,regcomp等)比strstr还慢。

论坛徽章:
0
12 [报告]
发表于 2005-09-20 15:17 |只看该作者

linux下c怎么从一个比较大的文件中快速找一个字符串呢

好像都要把文件完全读入内存
现在问题是没有那么大的内存给我来操作啊

论坛徽章:
0
13 [报告]
发表于 2005-09-20 15:22 |只看该作者

linux下c怎么从一个比较大的文件中快速找一个字符串呢

原帖由 "aaaaal" 发表:
在那里可以找到这些源码呢
我的是redhat9。0


linux本身就带有源码。如果不好找的话就到google上搜grep.c,刚才试了一下,找出一大堆

论坛徽章:
0
14 [报告]
发表于 2005-09-20 15:33 |只看该作者

linux下c怎么从一个比较大的文件中快速找一个字符串呢

一行行fgets
然后在strstr找出来
几十k不会有感觉
比调用system快

论坛徽章:
0
15 [报告]
发表于 2005-09-20 16:16 |只看该作者

linux下c怎么从一个比较大的文件中快速找一个字符串呢

那如果要找的字符串跨行了怎么办呢

论坛徽章:
0
16 [报告]
发表于 2005-09-20 16:17 |只看该作者

linux下c怎么从一个比较大的文件中快速找一个字符串呢

原帖由 "sunlan" 发表:


linux本身就带有源码。如果不好找的话就到google上搜grep.c,刚才试了一下,找出一大堆



linux的源码放在那个目录下面呢

论坛徽章:
0
17 [报告]
发表于 2005-09-20 16:39 |只看该作者

linux下c怎么从一个比较大的文件中快速找一个字符串呢

[quote]原帖由 "aaaaal"]那如果要找的字符串跨行了怎么办呢[/quote 发表:

除非你要找的字符串中也包含回车
不然一行行读是可以的
不过一行行读比较慢

论坛徽章:
0
18 [报告]
发表于 2005-09-20 17:09 |只看该作者

linux下c怎么从一个比较大的文件中快速找一个字符串呢

原帖由 "bleem1998" 发表:

除非你要找的字符串中也包含回车
不然一行行读是可以的
不过一行行读比较慢


那如果要是包含回车该 怎么办呢

论坛徽章:
0
19 [报告]
发表于 2005-09-20 17:17 |只看该作者

linux下c怎么从一个比较大的文件中快速找一个字符串呢

我也遇到过,比如在一个文件中找出一个字符串,再进行替换。我做这个作业时就不好找这个串

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
20 [报告]
发表于 2005-09-20 18:07 |只看该作者

linux下c怎么从一个比较大的文件中快速找一个字符串呢

原帖由 "aaaaal" 发表:


那如果要是包含回车该 怎么办呢


你可以采取措施忽略'\n'
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP