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
首先猜測你的文件路徑是無效的,或者你沒有被授權訪問那裏。 –
開放方法是POSIX的方法。我正在使用它,因爲我試圖做一些mmap。 要熱舔,我檢查了errno,並得到2的映射到字符串「沒有這樣的過程」的值。你怎麼看? – user1660675