好像很好。是我想要的。像python和java等里面都有个split函数,很简单就能拆分了字符串。感谢。 ...
Split函数我当然知道,C#里面也有,指定一个分隔符,就可以自动分割并反馈一个字符串数组,问题是C没有对等的函数,除非你自己实现。 yklstudent-1794 发表于 2019-11-21 16:47
为什么不用cJSON呢
不是不用是不知道啊,你说这个cjson是啥?别告诉我要改原数据,原数据是必须那个格式,不给我商量余地。
话说告stm32的都是什么思维呢?说个问题,一般不给你解答,然后说你把问题修改一下就好了。 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,结束后再放一个字符串结束符。
简单一点: 从右往左交替使用strstr()和strright(),以空格为界定,嵌套筛选
sos博 发表于 2019-11-24 18:01
不是不用是不知道啊,你说这个cjson是啥?别告诉我要改原数据,原数据是必须那个格式,不给我商量余地。
...
为什么自己就不会主动去了解cjson?
cjson就是
发送方:把数据打包字符串然后发送出去
接收放:接收字符串,把字符串转换为数据;
页:
1
[2]