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