如何判断字符串是否相同?
如何判断字符串是否相同?现在遇到的问题,无法正确执行 if 语句里的条件判断
现有问题是,
串口接收到的数据是正常的,(通过print函数打印串口收到的数据,与我用上位机软件发出的数据是一样的)
串口对外发送数据也是正常的,
现在问题出在字符串是否相同这个比较判断上,
网上我能找到的帖子里介绍方法都试了一遍,问题还没解决。
源码功能,就是收到上位机发来的命令后,先判断收到的命令,是否与已知的命令相同?如果相同则给上位机返回一个命令。求助前辈门指导一下迷津,谢谢。 (1) XXX.equals(YYY);
(2) strcmp(XXX.c_str(), YYY.c_str()) ==0)
# include <stdlib.h>
# include <string.h>
String cdjo = "B07000C0";
String comdata = "";
unsigned char itea = {0xB0,0x70,0x30,0x1C,0x77,0xEC};
void setup() {
Serial.begin(9600,SERIAL_8E1);
while(Serial.read() >= 0){}//清除串口缓冲区
}
String readLine()//读整行字符串子程序
{
String comdata="";
while(Serial.available())
{
comdata += char(Serial.read());
delay(2);
}
return comdata;
}
void loop()
{
comdata=readLine();//读整行字符串
//Serial.print(comdata);//调试用,执行到这里都正常
if(comdata=="B07000C0")//这个语句始终无法正确判断
{
Serial.print(comdata);//调试用
//Serial.write(itea,6);
comdata = "";
while(Serial.read() >= 0){}//清除串口缓冲区
delay(200);
}
}
字符串不能直接判断,可以用strcmp函数
页:
[1]