C 在iOS设备上写入和访问应用程序文件
我有一个程序,它可以生成自己的Wireshark pcap文件(如果您以前没有使用过它,可以说是网络日志)。我的应用程序使用ANSI-C代码来实现这一点。 在Android和Windows中,我只需使用“fopen”和“fwrite”等将文件写入光盘 这在iOS上是如何工作的? 我将提供给fopen的文件路径是什么?例如,在安卓系统中,我使用“/sdcard”或类似工具,这里是什么? 之后如何从iOS设备中提取文件C 在iOS设备上写入和访问应用程序文件,c,ios,file,fopen,pcap,C,Ios,File,Fopen,Pcap,我有一个程序,它可以生成自己的Wireshark pcap文件(如果您以前没有使用过它,可以说是网络日志)。我的应用程序使用ANSI-C代码来实现这一点。 在Android和Windows中,我只需使用“fopen”和“fwrite”等将文件写入光盘 这在iOS上是如何工作的? 我将提供给fopen的文件路径是什么?例如,在安卓系统中,我使用“/sdcard”或类似工具,这里是什么? 之后如何从iOS设备中提取文件 编辑:我需要明确使用ANSI-C;所有写入都是在iOS应用程序中使用的C库中完成
编辑:我需要明确使用ANSI-C;所有写入都是在iOS应用程序中使用的C库中完成的。在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
或其他受支持的编码 在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
或其他受支持的编码 您完全可以使用fopen
(我在跨平台代码中使用它)。但是,您确实希望使用[documentPath fileSystemRepresentation]
您完全可以使用fopen
(我在跨平台代码中使用它)。但是,您确实想使用[documentPath fileSystemRepresentation]
抱歉,如果我不清楚,我需要使用“fopen”,因为它在IOS示例上使用的C库中,用于获取基于字符的路径,这就是您需要的吗?一旦您编写了文件,您如何访问它们?通过Itunes?是的,如果您在info.plist文件中指定了功能(UIFileSharingEnabled
),您可以通过Itunes访问它们。您是否碰巧知道使用fopen写入该位置时是否有任何问题?不需要启用安全设置或类似设置?抱歉,如果我不清楚,我需要使用“fopen”,因为它在IOS示例上使用的C库中,用于获取基于字符的路径,这就是您需要的吗?一旦您写入文件,您如何访问它们?通过Itunes?是的,如果您在info.plist文件中指定了功能(UIFileSharingEnabled
),您可以通过Itunes访问它们。您是否碰巧知道使用fopen写入该位置时是否有任何问题?不需要启用安全设置或类似设置?