これは私の前の質問のフォローアップです。ここにリンクします。
私の質問は次のとおりです。次のコードがあるとしましょう。
char* buf = (char*) malloc(1024);
...
for(; i<20; i++) {
if(read(fd, buf, 1024) == -1) { // read off a file and store in buffer
perror("read failed");
return 1;
}
...
}
free(buf);
私が得ようとしているのはそれです-でエラーが発生した場合はどうなりread()
ますか?それは私の割り当てられたメモリが決して解放されないことを意味しますか?その場合、これをどのように処理しますか?free()
エラー処理の一部として呼び出す必要がありますか?
もう一度、私は悪い英語をお詫び申し上げます。^^;
どうもありがとう、K。