-1

以下で使用した方法で、バッファを再割り当てするbuf方法は?

[fileData getBytes: buf length: 1024];

私のコードでは、 buf を char n として宣言し、その中に 1050 文字を格納していchar buf[1050]ます。

4

1 に答える 1

1

コンパイル時にサイズが定義されるスタック上のバ​​ッファーを「再割り当て」することはできません。代わりにダイナミック アロケーションを使用することをお勧めします。

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

使い終わったら忘れないでください。そうしないfree()と、すぐにメモリリークが発生します。

free(buf);
于 2013-07-24T10:31:46.283 に答える