可可代码 - 如何在我下面使用的方法中重新分配缓冲区?

时间:2013-07-24 08:53:49

标签: objective-c memory-management

如何在我下面使用的方法中重新分配缓冲区buf

[fileData getBytes: buf length: 1024];

在我的代码中,我已将buf声明为char n,其中存储了1050个字符char buf[1050]

1 个答案:

答案 0 :(得分:1)

您无法在堆栈上“重新分配”缓冲区,其大小在编译时定义。您将需要使用动态分配:

#define MYBUFLEN 1024
char *buf = (char *)malloc(MYBUFLEN);
[fileData getBytes:buf length:MYBUFLEN];

并且当你完成它时不要忘记free(),否则你会很快泄漏内存:

free(buf);