如何从本地文件替换12字节数据?

时间:2014-11-17 10:00:18

标签: ios nsfilehandle

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

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

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

3 个答案:

答案 0 :(得分:1)

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

读取块中的文件替换缓冲区写入临时文件中删除原始文件并将临时文件重命名为原始文件。

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

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

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

答案 1 :(得分:0)

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

答案 2 :(得分: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);