Если я закрою файл, а затем снова его закрою, я не могу записать ему больше данных после его повторного открытия, но если я его открываю, я могу написать столько строк, сколько захочу, а затем закрыть его, когда Я заканчиваю писать. См. Пример ниже. Благодарю.Данные, которые были перезаписаны при открытии файла с использованием FatFs
if (f_mount(&FatFs, "", 1) == FR_OK) {
f_mkdir ("TEST");
count = 0;
while(count < 200){
if(f_open(&fil, "TEST/test.txt", FA_OPEN_ALWAYS | FA_WRITE) != FR_OK){
break;
}
else{
sprintf(array,"This is file entry number: %d\r\n",count);
f_puts(array, &fil);
if(f_close(&fil) != FR_OK){
break;
}
}
count++;
}
f_mount(0, "", 1);
}
Он будет считать до максимального значения, но он будет писать только последнюю запись, которая является 199.
спасибо, но версия, которую я использую, не имеет этого FA_OPEN_APPEND. Я смог добиться того же самого с f_seek(). Спасибо за помощь. –
@o_tech, мне кажется странным, что он не включает 'FA_OPEN_APPEND', так как это довольно распространенный режим для открытия файлов. Я рад, что вы смогли обойти ограничения. – rjp
эти флаги он имеет: #define \t FA_READ \t \t \t \t 0x01 #define \t FA_WRITE \t \t \t 0x02 #define \t \t FA_OPEN_EXISTING 0x00 #define \t FA_CREATE_NEW \t \t 0x04 #define \t \t FA_CREATE_ALWAYS 0x08 # определение \t FA_OPEN_ALWAYS \t \t 0x10 #define _FA_MODIFIED \t \t 0x20 #define _FA_DIRTY \t \t \t 0x40 Я попытался использовать _FA_MODIFY, но он не работал –