0

我的应用程序会下载一个前 12 字节数据已加密的文件,因此我必须从 Document 中读取该文件并解密前 12 字节数据。

我的第一次尝试是读取整个文件并对其进行解密,然后再次写入文件。但是如果文件太大,这将消耗大量内存。

那么,有没有办法让我读取前 12 个字节的数据并替换它?

4

3 回答 3

1

这是用任何语言做的标准方式。

读取块中的文件 Replace in Buffer 写入临时文件 删除原始文件并将临时文件重命名为原始文件。

就目标C而言,我发现了一个有用的链接

http://www.techotopia.com/index.php/Working_with_Files_in_Objective-C

转到此主题“将数据写入文件”

于 2014-11-17T10:18:19.307 回答
0

好吧,Objective-C 是基于 C 的,因此包括文件操作函数在内的所有函数都应该是开箱即用的。您可以将 NSString 文件路径转换为 ​​char 数组,并在此链接的帮助下执行所需的文件操作。

于 2014-11-17T10:08:37.663 回答
0
#include <stdio.h>

FILE *f = fopen("yourFileName", "rb");
if(f == NULL)
    ; // handle exception
int nBytesToRead;
char theBuffer[nBytesToRead];  
size_t bytesRead = fread(theBuffer, 1, nBytesToRead, f);
// do with your bytesRead
fclose(f);
于 2014-11-17T10:21:07.293 回答