Arduino 将值从 file.read() 转换为 const char*
Arduino converting value from file.read() to const char*
我知道有很多关于变量转换的主题,但我在不同的论坛上花了 2 个多小时,但我没有找到解决问题的方法...
我有一段代码可以在我的 ESP32 上读取 SPIFFS 文件并将其写入串行监视器。 (这里我们在很多网站给出的示例代码上)
但是现在如何将 file.read()
的值发送到 const char*
我真的需要这种格式,因为函数将接收值 ...
我的代码:
const char* VALUE = "";
File file = SPIFFS.open("/test.txt");
if(!file){
Serial.println("Failed to open file for reading");
return;
}
while(file.available()){
Serial.write(file.read());
VALUE = file.read();
}
file.close();
此结果为:invalid conversion from int to const char*
尝试以下操作:
char VALUE [512] = {'[=10=]'}; // 511 chars and the end terminator if needed make larger/smaller
File file = SPIFFS.open("/test.txt");
if(!file){
Serial.println("Failed to open file for reading");
return;
}
uint16_t i = 0;
while(file.available()){
VALUE [i] = file.read();
// Serial.print (VALUE [i]); //use for debug
i++;
}
VALUE [i] ='[=10=]';
// Serial.print (VALUE); //use for debug
file.close();
这会将文件的内容复制到一个字符数组中,然后可以将其用于进一步的处理。如果 char 数组是全局定义的,它将被编译为闪存并防止内存碎片
我知道有很多关于变量转换的主题,但我在不同的论坛上花了 2 个多小时,但我没有找到解决问题的方法...
我有一段代码可以在我的 ESP32 上读取 SPIFFS 文件并将其写入串行监视器。 (这里我们在很多网站给出的示例代码上)
但是现在如何将 file.read()
的值发送到 const char*
我真的需要这种格式,因为函数将接收值 ...
我的代码:
const char* VALUE = "";
File file = SPIFFS.open("/test.txt");
if(!file){
Serial.println("Failed to open file for reading");
return;
}
while(file.available()){
Serial.write(file.read());
VALUE = file.read();
}
file.close();
此结果为:invalid conversion from int to const char*
尝试以下操作:
char VALUE [512] = {'[=10=]'}; // 511 chars and the end terminator if needed make larger/smaller
File file = SPIFFS.open("/test.txt");
if(!file){
Serial.println("Failed to open file for reading");
return;
}
uint16_t i = 0;
while(file.available()){
VALUE [i] = file.read();
// Serial.print (VALUE [i]); //use for debug
i++;
}
VALUE [i] ='[=10=]';
// Serial.print (VALUE); //use for debug
file.close();
这会将文件的内容复制到一个字符数组中,然后可以将其用于进一步的处理。如果 char 数组是全局定义的,它将被编译为闪存并防止内存碎片