你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

提取出如下字符串,应该用什么函数呢?HAL的库

[复制链接]
tryfly 提问时间:2019-11-19 21:54 /
阅读主题, 点击返回1楼
收藏 1 评论17 发布时间:2019-11-19 21:54
17个回答
radio2radio 回答时间:2019-11-24 20:48:41
sos博 发表于 2019-11-24 18:01
不是不用是不知道啊,你说这个cjson是啥?别告诉我要改原数据,原数据是必须那个格式,不给我商量余地。
...

你这个也不是很难,不过我也没有做过,不能给你完整的方法。

首先,判断是否收到“命令名",没有问题吧。
接下来,调用一个提取数据的子程序:

    1. 取一个字符,如果是引号(")则返回进入结束的字符串处理。
    2. 如果字符为0x30-0x39,则放入temp【0】,否则返回出错。
    3. 取第二个字符,为0x30-0x39,则放入temp【1】;如果为0x20,就返回temp【0】-0x30;否则返回出错。
    4. 取第三个字符,为0x30-0x39,则放入temp【2】;如果为0x20,就返回(temp【0】-0x30)*10 + (temp【1】-0x30);否则返回出错。
    5. 取第四个字符,如果为0x20,就返回(temp【0】-0x30)*100 + (temp【1】-0x30)*10 +  (temp【2】-0x30);否则返回出错。

正常的返回值,放入idx。重复上面的就得到idx+1.

结束的字符串处理,笨办法就是逐个拷贝两个引号之间的字符到string[x],结束后再放一个[0x00]字符串结束符。


aiherong 回答时间:2019-11-25 04:08:23
简单一点: 从右往左交替使用strstr()和strright(),以空格为界定,嵌套筛选
yklstudent 回答时间:2019-12-9 21:10:27
sos博 发表于 2019-11-24 18:01
不是不用是不知道啊,你说这个cjson是啥?别告诉我要改原数据,原数据是必须那个格式,不给我商量余地。
...

为什么自己就不会主动去了解cjson?
cjson就是
发送方:把数据打包字符串然后发送出去
接收放:接收字符串,把字符串转换为数据;
12

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版