我正在尝试修改大(数百 MB).wav 音频文件的小块(32 字节)。目前我使用加载文件
[NSData dataWithContentsOfURL:]
修改字节,并使用保存文件
[data writeToURL:].
有没有一种方便的方法来修改二进制文件而不将其加载到 RAM 中?
编辑:以下stdio函数对我有用:
NSUInteger myOffset = 8;
const char *myBytes = myData.bytes;
NSUInteger myLength = myData.length;
FILE *file = fopen([[url path] cStringUsingEncoding:NSASCIIStringEncoding], "rb+");
assert(file);
fseek(file, myOffset, SEEK_CUR);
fwrite(myBytes, 1, myLength, file);
fclose(file);