2011-02-01 2 views
0

Я пытаюсь создать временный файл в каталоге/data/local/tmp. Путь верен, и я добавил разрешение WRITE_EXTERNAL_PERMISSION. Но все-таки я получаю сообщение об ошибке из собственного кода, говорящего о том, что файл не может быть создан.Папка для создания временных файлов в android, Почему/data/local/tmp не работает для меня?

Код выглядит следующим образом.

File *file = fopen("mytxt.txt", "/data/local/tmp/"); 

Файл возвращаемого значения всегда содержит нулевое значение, и файл не создается. Нужно ли что-нибудь еще сделать?

Есть ли другая временная папка, которую я могу использовать для этой цели в Android?

Спасибо за любую помощь, которую я могу получить.

ответ

11

Второй параметр, переданный функции fopen(), неверен. Этот параметр должен быть режимом открытия, а не каталогом. См. Справочную страницу fopen.

3

Вы не можете получить доступ к папке/data, если ваш телефон не укоренен.

Я не уверен в НДК, но есть метод в SDK, чтобы получить каталог кэша

http://developer.android.com/reference/android/content/Context.html#getCacheDir%28%29

Там, наверное, то же самое в НДК.

+0

извините за новичком вопрос. Что вы имеете в виду по телефону, коренится. Не могли бы вы рассказать? –

+0

У вас нет прав доступа к папке с данными, если вы специально не указали права root на свой телефон. – Falmarri

+5

/данные недоступны без root, но/data/local/tmp is. Каталоги в Linux доступны, даже если у вас нет прав на открытие родительского каталога. –

Смежные вопросы