Как записать отдельные данные в spiffs?
typedef struct book {
char title[20];
char author[20];
int pages[10];
} Book;
Book b1 = {"The Zahir","Paulo Coelho",336,0};
при записи этой структуры в SPIFFS ESP8266 я использую функцию
filename.write( (const uint8_t*)&b1, sizeof(b1));
но как записать отдельные данные, например название книги, в структуру spiffs?
@ravi s, 👍0
Обсуждение1 ответ
▲ 1
В такой ситуации лучше всего рассматривать ваши данные как записи в базе данных. Чтобы изменить одну часть записи, вы читаете всю запись, меняете значение, а затем записываете эту запись обратно.
int record = 4; // какую запись вы хотите изменить
struct book b; // Временное хранилище для редактирования данных
// Переходим к записи и читаем ее
filename.seek(record * sizeof(struct book));
filename.read( (const uint8_t*)&b, sizeof(struct book));
// Изменяем данные
strcpy(b.title, "Winnie The Pooh");
// Снова переходим к записи и записываем ее
filename.seek(record * sizeof(struct book));
filename.write( (const uint8_t*)&b, sizeof(struct book));
,
@Majenko
Смотрите также:
- Как читать и записывать EEPROM в ESP8266
- Как сделать выводы Tx и Rx на ESP-8266-01 в выводах GPIO?
- Как навсегда изменить скорость передачи данных ESP8266 (12e)?
- Как заставить 5-вольтовое реле работать с NodeMCU
- Как исправить: Invalid conversion from 'const char*' to 'char*' [-fpermissive]
- ESP8266 не подключается к Wi-Fi
- AT-команда не отвечает на последовательный монитор
- Разница между этими двумя платами NodeMCU?
рецензенты, не закрывайте вопрос. есть хороший ответ Маженко. только ОП частично удалил текст вопроса. Я откатил его обратно., @Juraj