OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5494|回复: 12

怎么提取出这组字符串的 WIFI 名字

[复制链接]

6

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2019-10-20
在线时间
31 小时
发表于 2020-11-18 09:19:36 | 显示全部楼层 |阅读模式
30金钱
+CWLAP4,"CMCC-huq5",-90,"44:e6:b0:76:92:df",8,-24,0)
+CWLAP4,"II02-1",-49,"0c:4b:54:1d:71:6f",11,-27,0)
+CWLAP4,"CU_YUQx",-62,"b0:aa:d2:4d:b0:d3",11,-26,0)
+CWLAP4,"CMCC-nD4H",-72,"fc:f2:9f:c4:bd:e6",13,-16,0)


这是一个BUFF里面的数据,怎么提取 WIFI名字 就是CMCC-huq5,II02-1 那几个

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

269

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1053
金钱
1053
注册时间
2020-5-11
在线时间
253 小时
发表于 2020-11-18 09:22:56 | 显示全部楼层
回复

使用道具 举报

34

主题

322

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1838
金钱
1838
注册时间
2014-12-4
在线时间
717 小时
发表于 2020-11-18 09:32:49 | 显示全部楼层
/*
在src里面得到s1 s2 中间的数据 放到sub
//return s2 hou mian shu jv di zhi bao han s2
*/
//get mid str
void mid(s8* src, s8* s1, s8* s2, s8* sub)
{
        s8* sub1=0;
        s8* sub2=0;
        u16 n=0;

        //查找S1 有的话返回S1在src中的位置的地址(指针)
        sub1=(s8*)strstr((const char*)src,(const char*)s1);
        //指针移动到s1以后的位置
        sub1+=strlen((const char*)s1);
        //查找S2 有的话返回S2在sub1中的位置的地址(指针)
        sub2=(s8*)strstr((const char*)sub1,(const char*)s2);
        //求间隔长度
        n=sub2-sub1;
        //得到间隔的中间数据
        strncpy(( char*)sub,(const char*)sub1,n);
        sub[n]=0;
       
        //return sub2;
}


试试这个吧
回复

使用道具 举报

6

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2019-10-20
在线时间
31 小时
 楼主| 发表于 2020-11-18 10:21:38 | 显示全部楼层
loudianxin 发表于 2020-11-18 09:32
/*
在src里面得到s1 s2 中间的数据 放到sub
//return s2 hou mian shu jv di zhi bao han s2

好像不太合适
回复

使用道具 举报

0

主题

71

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2017-10-10
在线时间
131 小时
发表于 2020-11-18 11:24:15 | 显示全部楼层
你看啊,你这些字符串BUFF的特征是什么,是","是分隔符,所以可以先用strtok()函数进行截取,然后再来对截取后的第一个首尾出现"的字符串进行处理,就是你要的了
https://www.runoob.com/cprogramming/c-function-strtok.html
回复

使用道具 举报

0

主题

24

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
401
金钱
401
注册时间
2019-5-5
在线时间
150 小时
发表于 2020-11-18 13:29:04 | 显示全部楼层
sscanf(string, "%*[^\"]\"%[^\"]\"%*s", wifi_name);
回复

使用道具 举报

3

主题

1155

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
7464
金钱
7464
注册时间
2015-1-15
在线时间
1368 小时
发表于 2020-11-18 13:55:50 | 显示全部楼层
看你的编译器是否支持strsep函数,个人感觉这个函数挺好用
一分耕耘一分收获。
回复

使用道具 举报

15

主题

109

帖子

0

精华

高级会员

Rank: 4

积分
614
金钱
614
注册时间
2014-8-14
在线时间
184 小时
发表于 2020-11-18 14:15:07 | 显示全部楼层
你是不是在广州市花都区花都湖湿地公园那附近
回复

使用道具 举报

25

主题

180

帖子

0

精华

高级会员

Rank: 4

积分
596
金钱
596
注册时间
2015-1-14
在线时间
152 小时
发表于 2020-11-18 14:34:39 | 显示全部楼层
用strtok就行了
回复

使用道具 举报

0

主题

71

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2017-10-10
在线时间
131 小时
发表于 2020-11-18 14:58:36 | 显示全部楼层
本帖最后由 YukawaManabu 于 2020-11-18 15:00 编辑
石头君 发表于 2020-11-18 13:29
sscanf(string, "%*[^\"]\"%[^\"]\"%*s", wifi_name);

sscanf直接用正则?学到了。。。。。。
回复

使用道具 举报

6

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2019-10-20
在线时间
31 小时
 楼主| 发表于 2020-11-18 16:21:38 | 显示全部楼层
Cindre鞡 发表于 2020-11-18 14:15
你是不是在广州市花都区花都湖湿地公园那附近

bushi 差远了
回复

使用道具 举报

6

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2019-10-20
在线时间
31 小时
 楼主| 发表于 2020-11-18 16:50:14 | 显示全部楼层
石头君 发表于 2020-11-18 13:29
sscanf(string, "%*[^\"]\"%[^\"]\"%*s", wifi_name);

不对呀,
回复

使用道具 举报

11

主题

2154

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4947
金钱
4947
注册时间
2015-1-10
在线时间
620 小时
发表于 2020-11-19 08:51:00 | 显示全部楼层

只是给了你个例子,根据内容自己改一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-22 13:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表