реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> FatFS Как открыть на запись существующий файл?, file_err == FR_EXIST
TolikG
сообщение Nov 7 2013, 10:22
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 86
Регистрация: 19-03-10
Пользователь №: 56 071



Если файла нету - file_err = f_open(file, arg, FA_CREATE_NEW | FA_WRITE) дает FR_OK
При попытке открыть существующий файл - результат FR_EXIST /* (8) Access denied due to prohibited access */
пробовал комбинации FA_CREATE_ALWAYS | FA_WRITE, FA_OPEN_ALWAYS | FA_WRITE, FA__WRITTEN | FA_WRITE, FA_WRITE - результат одинаковый. Подскажите что не так?
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Nov 7 2013, 11:07
Сообщение #2


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



У меня работает комбинация
FA_WRITE | FA_OPEN_ALWAYS.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
aoreh
сообщение Nov 7 2013, 12:31
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 37
Регистрация: 16-06-11
Пользователь №: 65 731



у файла нет какого-нить атрибута "read only"?
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 7 2013, 13:06
Сообщение #4


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(TolikG @ Nov 7 2013, 16:22) *
пробовал комбинации FA_CREATE_ALWAYS | FA_WRITE,
Подскажите что не так?

У меня на эту комбинацию всегда затирает старый файл или создаёт новый. Но как написали выше, может ошибка выдаётся из-за атрибутов уже существующего файла или присутствия директории с таким же именем.

Сообщение отредактировал GetSmart - Nov 7 2013, 13:09


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
TolikG
сообщение Nov 7 2013, 14:01
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 86
Регистрация: 19-03-10
Пользователь №: 56 071



Цитата(GetSmart @ Nov 7 2013, 16:06) *
У меня на эту комбинацию всегда затирает старый файл или создаёт новый. Но как написали выше, может ошибка выдаётся из-за атрибутов уже существующего файла или присутствия директории с таким же именем.

Вопрос снят, сам накосячил:
file_err = f_open(file, arg, FA_CREATE_NEW | FA_WRITE);
// попытка проверить другие комбинации флагов
if(file_err == FR_EXIST )f_open(file, arg, FA_CREATE_ALWAYS | FA_WRITE);
if (file_err == FR_OK )
{...
забыл написать file_err = f_open(file,... - вот старый код ошибки и остался bb-offtopic.gif

Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 06:21
Рейтинг@Mail.ru


Страница сгенерированна за 0.01403 секунд с 7
ELECTRONIX ©2004-2016