0
코드가 아래에 복사됩니다. 나는 당신이 당신의 앱 샌드 박스의 바깥쪽에 쓸 수 있다는 것을 알고 있기 때문에 문서 디렉토리를 사용하고있다. NSFileManager에 의해 생성 된 경로를 확인하기 위해 사용하고 있던 문자열과 비교해도 동일합니다. 너 모두 어떻게 생각하니?iOS에서 열린 상태에서 -1을 얻는 이유는 무엇입니까?
- (NSString *)documentsDirectory
{
NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
return [paths objectAtIndex:0];
}
- (void) whateverFunction{
NSString *memfileName = @"memmapfile.map";
NSString *filePath = [[self documentsDirectory] stringByAppendingPathComponent:memfileName];
NSLog(@"Here is the filePath: %@", filePath);
NSLog(@"Other version: %s", [[NSFileManager defaultManager] fileSystemRepresentationWithPath:filePath]);
int memFD = open([filePath cStringUsingEncoding:NSASCIIStringEncoding], O_RDWR);
NSLog(@"I am getting -1 for memFD: %d", memFD);
}
'open()'메서드를 붙여 넣을 수 있습니까? 또한 Obj-C 방법을 사용하지 않는 이유는 무엇입니까? – MishieMoo
첫 번째 추측은 파일 경로가 유효하지 않거나 거기에 액세스 할 권한이 없다는 것입니다. –
open 메소드는 POSIX의 메소드입니다. 나는 뭔가를하려고하기 때문에 그것을 사용하고 있습니다. Hot Licks에게 errno를 검사하고 "No such process"문자열에 매핑 된 값 2를 얻습니다. 어떻게 생각해? – user1660675