Как удалить содержимое SD-карты в ардуино?

У меня есть файл данных, datalog.txt Я могу открывать, читать и писать, всё классно. Каков наилучший способ удалить все содержимое файла? Должен ли я попробовать переписать файл SD-карты с нулевыми данными? Я читал файл заголовка "SD.h". Я вижу функцию flush() и truncate (). Должен ли я использовать одну из них?

или, может быть, мне следует просто закрыть и снова открыть файл и перезаписать данные. Но я обеспокоен тем, что это может привести к некоторым ошибочным представлениям, если старые данные не будут полностью удалены.

Я использую Teensy 4.1 со встроенной SD-картой.

, 👍0

Обсуждение

Просто откройте файл. Нет никакого "не полностью удалено"., @Majenko


1 ответ


Лучший ответ:

3

Чтобы удалить файл, используйте SD.remove("datalog.txt");

ФАЙЛ_ЗАПИСИ библиотеки SD-это O_READ | O_WRITE | O_CREAT | O_APPEND, поэтому он будет добавлен в конце существующего файла.

чтобы начать с пустого файла: Файл file = FS.открыть("datalog.txt", O_READ | O_WRITE | O_CREAT);

ИЗМЕНИТЬ: открытие файла с помощью O_READ | O_WRITE | O_CREAT не удаляет содержимое файла, а только начинает перезаписывать его с самого начала.

,