2011-11-15 75 views
1

我有一個程序可以生成它自己的Wireshark pcap文件(如果您之前使用過它,則是網絡日誌的排序)。我的應用程序使用ANSI-C代碼來執行此操作。 在Android和Windows中,我只是使用'fopen'和'fwrite'等將文件寫入光盤。在iOS設備上編寫和訪問應用程序文件

這是如何在iOS上使用的? 我將提供給fopen的文件路徑是什麼?例如在Android中,我使用「/ sdcard」或類似的,它在這裏是什麼? 我如何從iOS設備上實際提取文件?

編輯:我需要明確使用ANSI-C;所有的寫作是在我的iOS應用程序中使用的C庫做

回答

4

您可以完全使用fopen(我在跨平臺代碼中使用它)。但是,您的確想使用[documentPath fileSystemRepresentation]

4

在iOS上的文件目錄路徑可以用這個代碼中找到:

NSArray *documentDirList = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentDir = [documentDirList objectAtIndex:0]; 
NSString *documentPath = [documentDir stringByAppendingPathComponent:@"fileName"]; 

的目的寫作方法可能是:

NSData *data = [NSData dataWithBytes:bytes length:length]; 
[data writeToFile:documentPath atomically:YES]; 

要使用 「C」 的方法例如fopen獲得字符基於字符串:

const char *cDocumentPath = [documentPath cStringUsingEncoding:encoding]; 

地方encoding可能是NSUTF8StringEncoding或其他受支持的編碼。

+0

對不起,如果我不清楚,我需要使用'fopen',因爲它是在ios上使用的C庫中 – KaiserJohaan

+0

添加了獲取基於char的路徑的示例,這是您需要的嗎? – zaph

+0

是的,它看起來不錯!會嘗試一下,謝謝! – KaiserJohaan

相關問題