我知道关于变量转换的主题很多,但是我在不同的论坛上花费了2多个小时,却找不到解决问题的方法...
我有一个代码,它将在ESP32上的SPIFFS文件上读取并将其写入串行监视器。(这里是许多网站上提供的示例代码)
但是现在我该如何将的值发送file.read()
到const char*
I中呢,因为该函数将接收该值,所以我真的需要这种格式...
我的代码:
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] = {'\0'}; // 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] ='\0';
// Serial.print (VALUE); //use for debug
file.close();
这会将文件的内容复制到char数组中,然后可将其用于进一步处理。如果char数组是全局定义的,则将其编译为Flash并防止内存碎片
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句