如何解决在 IF 语句中将字符串分配给另一个字符串的问题
我试图在 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
解决方法
问题在于 last_wifi_name
是一个局部变量。你正在设置它
last_wifi_name = wifi_name;
但在循环迭代结束时它被销毁,在下一次循环迭代开始时创建一个新的空变量。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。