问题描述
我正在处理一个项目,该项目包括发送我从 Arduino IDE 的控制台终端接收的数据。我已经能够获取我在控制台中输入的数据并存储在一个变量中。我的变量是一个字符串,当我从控制台获取我输入的数据时,它是这样的:这是文本。我需要将一个引号连接到开头和一个到结尾,所以它会保持这样:“这是文本”。我需要它,因为要在 esp32 SPIFFS 中写入数据,它必须在引号内。
String wifi_name;
if (Serial.available()){
wifi_name = Serial.readString();
}
if (wifi_name == NULL){
Serial.print("File size: ");
Serial.print(file.size());
Serial.println(",O valor dentro da string é nulo,nada será adicionado ao arquivo");
delay(2500);
}else{
write_file_info(wifi_name);
}
void write_file_info(String message) {
file = SPIFFS.open("/wifi.txt",FILE_WRITE);
if (!file){
Serial.println("Error opening file");
return;
}else{
Serial.println("Success opening file");
}
if (file.print("\message\")){ //This line I would need to have quotes in the end and start
Serial.println("File was written");
}else{
Serial.println("File was not written");
}
file.close();
}
我需要消息部分 if (file.print("message"))
保留在引号之间,但由于它是一个字符串,我无法应用引号。
解决方法
https://www.arduino.cc/en/Tutorial/BuiltInExamples/StringAdditionOperator 并连接像 " 这样的特殊字符,你可以使用这样的转义字符 "\"" + text + "\"" 。