gpt4 book ai didi

cocoa - 在 Cocoa 中修改大文件

转载 作者:行者123 更新时间:2023-12-03 17:56:37 24 4
gpt4 key购买 nike

我正在尝试修改大(数百 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);

最佳答案

是的,您可以使用较低级别的方法,例如fopen,以避免通过NSData重复加载/重新加载文件(正如您在更新中发现并提到的那样) 。这是我处理音频文件 I/O 的级别。

如果您想要 Foundation 类型,您可能需要尝试 NSFileHandle

关于cocoa - 在 Cocoa 中修改大文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12331412/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com