【发布时间】:2021-01-06 18:12:36
【问题描述】:
我试图在 if 语句中将一个字符串分配给另一个字符串,基本上它的工作原理是,当程序启动时,字符串为 NULL,当我在控制台上为其分配一个新值时,主字符串接收值,我也创建了一个临时字符串来接收该值。如果我在 if 语句之外插入temporary_string = main_string,它将接收 main_string,但如果我在 if 语句中这样做,它将不起作用。
String wifi_name;
void setup() {
Serial.begin(115200);
}
void loop() {
String last_wifi_name;
if (Serial.available()){
wifi_name = Serial.readString();
}
wifi_name.trim();
Serial.print("wifi_name: ");
Serial.println(wifi_name);
Serial.print("last_wifi_name: ");
Serial.println(last_wifi_name);
if (wifi_name == ""){
Serial.println("No value");
}else{
Serial.println("It enters here");
last_wifi_name = wifi_name; //This is not working
}
delay(2000);
}
输出:
wifi_name:
last_wifi_name:
NULL
wifi_name: Trying to assign this
last_wifi_name:
It enters here
问题是,没有从= 接收到 last_wifi_name
【问题讨论】:
-
您必须将 wifi_name 与字符串进行比较
if(wifi_name == NULL)是无稽之谈。你忘了引号 -
我已经改变了比较,但是引号是什么意思?
标签: c++ arduino arduino-ide