Друзья, здравствуйте.
Нужно чтобы имя создаваемого FATFS файла было не статическим, а динамическим, допустим "день_месяц-год.txt".
В статике всё работает, имя файла я задаю массивом char fName[] = "sens_table.txt\0";
Определяется он тут: fR = f_open(&file, fName, FA_OPEN_ALWAYS|FA_WRITE|FA_READ);
Пробовал делать так: sprintf (fName, "%d-%d-%d-%d.txt ", sDate.Date, sDate.Month, sDate.Year, sTime.Seconds);
FATFS ругается и не создаёт файл.
Пробовал форматировать другой архив и копировать его в нужный: memcpy (fName, wtext, sizeof(fName)); - не работает, та же ошибка.
Подскажите, как правильно это сделать?
Динамическое имя файла FATFS (CubeMX)
Динамическое имя файла FATFS (CubeMX)
Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного.
- Реклама
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Динамическое имя файла FATFS (CubeMX)
Дык, это ... Длину массива то не указали 
Добавлено after 52 seconds:
Добавлено after 52 seconds:
Покажите хоть её нам.DataLife писал(а):та же ошибка
Re: Динамическое имя файла FATFS (CubeMX)
динамическое имя может укладываться в рамки статичного массива, если меняются лишь символы, а не их количество, и тогда это одна задача.
а может не укладываться, и тогда это другая задача, которая может звучать как "динамические массивы в С++"
а может не укладываться, и тогда это другая задача, которая может звучать как "динамические массивы в С++"
Re: Динамическое имя файла FATFS (CubeMX)
Чисто на всякий случай: в приведенном коде в форматной строке при вызове snprintf после "txt" у вас пробел.
Re: Динамическое имя файла FATFS (CubeMX)
Здравствуйте, друзья. не знаю точно как, но всё получилось.
Заново всё написал, хотел посмотреть ошибку, что ответить Аlex'у, но всё успешно записывается.
На счёт "пробела" в конце - то был эксперимент, кстати в рабочем варианте нет пробела.
Размер массива указал 35 на всякий ...
Работает!
Заново всё написал, хотел посмотреть ошибку, что ответить Аlex'у, но всё успешно записывается.
На счёт "пробела" в конце - то был эксперимент, кстати в рабочем варианте нет пробела.
Размер массива указал 35 на всякий ...
Работает!
Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного.
- Реклама

