Помогите найти ошибку?
Есть функция получения данных из файла
static char* GetFile(String name)
{
static char* data;
if (SD.exists(name))
{
fs::File file_data = SD.open(name);
if (file_data)
while (file_data.available())
strcat(data, file_data.readStringUntil('\n').c_str());
file_data.close();
}
return data;
}
Затем данные я передаю серверу
server.on("/", [](){
server.send(200, "text/html; charset=utf-8", GetFile("/index.html"));
});
Компилируется без проблем, но при вызове страницы в браузере, модуль перезапускается
Без static тоже пробовал, так же перезапускается
char* GetFile(String name)
{
char* data;
if (SD.exists(name))
{
fs::File file_data = SD.open(name);
if (file_data)
while (file_data.available())
strcat(data, file_data.readStringUntil('\n').c_str());
file_data.close();
}
return data;
}
Если поменять static char* на String, то всё работает как часы.
String GetFile(String name)
{
String data;
if (SD.exists(name))
{
fs::File file_data = SD.open(name);
if (file_data)
while (file_data.available())
data += file_data.readStringUntil('\n');
file_data.close();
}
return data;
}
Подскажите пожалуйста, почему с static char* и просто char* не работает?