C 在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库中完成

我有一个程序,它可以生成自己的Wireshark pcap文件(如果您以前没有使用过它,可以说是网络日志)。我的应用程序使用ANSI-C代码来实现这一点。 在Android和Windows中,我只需使用“fopen”和“fwrite”等将文件写入光盘

这在iOS上是如何工作的? 我将提供给fopen的文件路径是什么?例如,在安卓系统中,我使用“/sdcard”或类似工具,这里是什么? 之后如何从iOS设备中提取文件


编辑:我需要明确使用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写入该位置时是否有任何问题?不需要启用安全设置或类似设置?