Прежде всего, извините за мой английский. Это мой первый вопрос здесь. Я прочитал множество решений как распространенных, так и необычных проблем в работе со стековым потоком, и сообщество стековых потоков IMO является самым надежным в отрасли.
В настоящее время я занимаюсь разработкой приложения для iOS, и недавно у меня возникла проблема, и после некоторых исследований я не нашел решения. Когда я использую fopen
, чтобы открыть существующий файл, я получаю следующую ошибку:
open: Permission denied
Ниже приведен фрагмент кода, который вызывает ошибку:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *cachePath = [paths objectAtIndex:0];
BOOL isDir = NO;
NSError *error;
if (! [[NSFileManager defaultManager] fileExistsAtPath:cachePath
isDirectory:&isDir] && isDir == NO) {
[[NSFileManager defaultManager] createDirectoryAtPath:cachePath
withIntermediateDirectories:NO
attributes:nil
error:&error];
}
NSString* filePath = [cachePath stringByAppendingPathComponent:
[NSString stringWithFormat:@"tmpmem%i.bin", count++]];
const char *cPath = [filePath cStringUsingEncoding:NSISOLatin1StringEncoding];
int file = open(cPath, O_RDWR | O_CREAT);
if (file == -1)
{
perror("open");
return NULL;
}
Я с нетерпением жду вашей помощи. Заранее спасибо.
С уважением,
Б. Димитров