Возврат в родительский каталог с библиотекой SD
У меня есть переменная File
под названием dir
, и я создаю простой файловый менеджер для своего устройства. Есть ли способ получить ссылку на родительский каталог dir
?
@Marco Giacomin, 👍2
Обсуждение1 ответ
▲ -1
Я не думаю, что существует встроенная функция, возвращающая родителя, но вы могли бы это сделать:
FS &file_system = SD; // выбираем любую файловую систему, которую вы используете
File get_parent(File dir) {
String dirPath = dir.path();
int lastSlashIndex = dirPath.lastIndexOf('/');
if (lastSlashIndex != -1) {
String parentDirPath = dirPath.substring(0, lastSlashIndex);
File parentDir = file_system.open(parentDirPath.c_str());
return parentDir;
}
return File();
}
,
@Mikael Tulldahl
но в библиотеке SD Arduino нет функции path
. (и нет типа FS), @Juraj
У меня под рукой есть только esp32-S3, а path() доступен в framework-arduinoespressif32 -> FS.h, я не знаю ситуации для других платформ/архитектур., @Mikael Tulldahl
Смотрите также:
- Как **получить** атрибуты для файлов SD?
- SD - карта создает "лишний" файл?
- Режимы открытия файлов на SD-карте Arduino добавление/перезапись
- Сохранение файла .txt на SD-карту и чтение данных каждого содержимого в файл txt, а затем сохранение его в переменной
- Использование SD-адаптера 5 В в системе 3,3 В
- Редактирование определенной позиции в файле, хранящемся на SD-карте
- Проблема с открытием нескольких текстовых файлов одновременно/по порядку с использованием <SD.h>
- Arduino SD подсчитывает файлы и открывает их последним, как это сделать?
Разве dir.name() не возвращает имя каталога и путь?, @ocrdu
К сожалению, он возвращает только имя, @Marco Giacomin
Тогда, вероятно, единственный способ — сохранить список каталогов, которые вы прошли при переходе к этому файлу или при построении структуры каталогов из корня. Может быть и другой способ, но я недостаточно хорошо знаю SD-библиотеку., @ocrdu