如何在下面使用的方法中重新分配缓冲区buf
?
[fileData getBytes: buf length: 1024];
在我的代码中,我已经将buf声明为char n,其中存储1050个字符作为char buf[1050]
。
不能在堆栈上"重新分配"缓冲区,缓冲区的大小在编译时定义。您将希望使用动态分配:
#define MYBUFLEN 1024
char *buf = (char *)malloc(MYBUFLEN);
[fileData getBytes:buf length:MYBUFLEN];
当你完成它时,不要忘记free()
,否则你会很快泄露内存:
free(buf);