1

問題は-qsortを使用して複数の行をソートしようとしていますが、すべてがoutfileで機能します。残念ながらvalgrind、一部のメモリブロックを解放しないというエラーが発生します。

最初私は思った-私はする必要があるfree(lines)が、それはすでにそこにある。私は何が欠けていますか?

qsort(lines, linenumber, sizeof(char*), compare_string);
 for(c=0; c<linenumber; c++) {
    fputs(lines[c], outfile);
 }
 free(lines);
4

1 に答える 1

1

どのようにメモリをラインに割り当てましたか?2次元配列の場合は、forループで各行を個別にmallocする必要があります。

このようなことをしてください-

for(counter=Max_lines;counter>0;counter--){
     free(lines[counter]);
}
于 2012-09-01T16:04:08.323 に答える