首页 > 其他 > 详细

从字符串中找出你想要的内容(字符串匹配)

时间:2014-02-25 16:46:40      阅读:502      评论:0      收藏:0      [点我收藏+]

 在网络协议的实际运用中 我们经常会遇到抓取HTTP协议的request中的内容(前后固定规律):

例如搜索引擎发出的请求中包含的关键字,经分析后会发现其规律的所在位置。

以下是从字符串中抠出你想要的关键字内容代码:

有错误的地方请大家指正(gcc中编译运行通过) 谢谢

bubuko.com,布布扣
 1 #include <stdlib.h>
 2 #include <stdio.h>
 3 #include <unistd.h>
 4 #include <string.h>
 5 #define Length 200
 6 int FindKeyword(char *start,char *end,char *sour,char *buf);
 7 char buf[Length];
 8 int GetValue(char *buf , RegInfo info);
 9 typedef struct RegInfo
10 {
11     char Name[20];
12     int  Age;
13     int Gender;
14     char LiveAddress[256];
15     char ComAddress[256];
16     int Telphone[11];
17 }RegInfo;
18 
19 int main(void)
20 {
21     char *sour="data_id=0458942466&usernameid=21BA3171E464A80C4BEBFBDF452B1F5C29B3037B5AB89C65&pwdid=FEC70EEE5072625FFEC70EEE5072625FFEC70EEE5072625FDDB1E64AA34C986D&zjbhid=FEC70EEE5072625FFEC70EEE5072625FFEC70EEE5072625FFEC70EEE5072625FFEC70EEE5072625F&yhm=&dlmm=&qrdlmm=&zjlx=1&zjbh=&zsxm=王年成&zy=05&csrq=1951-08-01&xb=1&mz=30&jtzz=重庆市城口县大城市&jtzz_first=&jtzz_second=&jtzz_third=&jtzz_other=&txdz=重庆市梁平县重新按市场&txdz_first=&txdz_second=&txdz_third=&txdz_other=&lxdh=15688521315&gzdw=天天电子&yzbm=666666&dzyj=22222222@qq.com&tsmmwt=我就读的第一所学校名称?&tsmmda=土豆&checkCode=8496";
22     char *start="jtzz";
23     char *end="&jtzz_first";
24     FindKeyword(start,end,sour,buf);
25     return 0;
26 }
27 
28 int FindKeyword(char *start,char *end,char *sour,char *buf)
29 {
30     char *p=strstr(sour,start);
31     char *q=strstr(sour,end);
32     char *p1=p+strlen(start);
33     int i=q-p1;
34     memset(buf,0,sizeof(buf));
35 
36 
37     memcpy(buf,p1,i);
38 
39     printf("bufend=%s",buf);
40     return 0;
41 
42 }
bubuko.com,布布扣

从字符串中找出你想要的内容(字符串匹配)

原文:http://www.cnblogs.com/charlieadios/p/3565606.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!