大神!大神!指令中 C(content)固定怎么用?

作者:乱臣贼子 | 更新时间:2020-03-28 | 浏览量:676

if (M == "say") {
    aJsonObject* content = aJson.getObjectItem(msg, "C");
    aJsonObject* client_id = aJson.getObjectItem(msg, "ID");
    String C = content->valuestring;
    String F_C_ID = client_id->valuestring;

这部分语句中String C ,能不能按照字符串处理,获得子串,并将其中一个赋值给一个整型变量?比如:

 if(C.substring(1,7)=="settemp"){
      String string2=C.substring(9,11); //返回 9 和 11 之间的 
      settemp=string2.toInt();
       say(F_C_ID, "设置温度下限成功");
      }
     if(C.substring(1,7)=="sethumi"){
      String string3=C.substring(9,11); //返回 9 和 11 之间的 
      sethumi=string3.toInt();
       say(F_C_ID, "设置湿度下限成功");
     }

通过实验发现不行,请问大神问题出在哪里?怎么改?


评论:共7条

贝壳物联 评论于:2020-03-28 20:45:33
发中文不行吧。
乱臣贼子 回复于:2020-03-28 20:54:43
回复 @贝壳物联:发送内容为 如settemp=12
通过固定长度指令,获得子串,以期望为程序中变量settemp赋值12
贝壳物联 回复于:2020-03-29 09:45:55
回复 @乱臣贼子:先发简单的字符串,把程序调通。让对方能接收到指令。
乱臣贼子 回复于:2020-03-29 12:02:34
回复 @贝壳物联:
那,实际上可以对String C进行拆分和转换吗?还是说我的这一想法不可行?
因为我调试程序在编译上传过程中没有出现问题,当对C不进行处理,直接比较字符串。比如
if(C==“settemp”)
{
say(F_C_ID, "设置温度下限成功");
}
在符合程序编写的字符串时可以产生完整反馈。

想法不可行的话,有没有什么其他建议嘛?
乱臣贼子 回复于:2020-04-01 21:19:19
回复 @贝壳物联:单纯比对字符串没问题,但是String C拆分以后就不行了。那,这个字符串能不能拆呢?还是说网站匹配有什么特别的函数前缀加上substring才能生效?
孤单一个人 评论于:2020-04-24 00:36:14
可以把c指令里面再加[括号里面就可以添加多组数据]
18855815672 评论于:2021-12-27 15:48:24
谢谢分享,学习啦。
返回顶部