Кто любит RISC в жизни, заходим, не стесняемся.
Пн авг 22, 2022 22:34:07
Друзья, здравствуйте.
Нужно чтобы имя создаваемого 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)); - не работает, та же ошибка.
Подскажите, как правильно это сделать?
Пн авг 22, 2022 22:56:11
Дык, это ... Длину массива то не указали
Добавлено after 52 seconds:DataLife писал(а):та же ошибка
Покажите хоть её нам.
Пн авг 22, 2022 23:03:48
динамическое имя может укладываться в рамки статичного массива, если меняются лишь символы, а не их количество, и тогда это одна задача.
а может не укладываться, и тогда это другая задача, которая может звучать как "динамические массивы в С++"
Пн авг 22, 2022 23:09:35
Чисто на всякий случай: в приведенном коде в форматной строке при вызове snprintf после "txt" у вас пробел.
Чт авг 25, 2022 21:23:31
Здравствуйте, друзья. не знаю точно как, но всё получилось.
Заново всё написал, хотел посмотреть ошибку, что ответить Аlex'у, но всё успешно записывается.
На счёт "пробела" в конце - то был эксперимент, кстати в рабочем варианте нет пробела.
Размер массива указал 35 на всякий ...
Работает!
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.