It’s been several years since I’ve dealt with C++, so bear with me…
I have a memory leak in my program which causes a run-time error. Could this be causing the error?
I have a global variable FILE *fp;
In a callback funciton, I have:
fp = fopen(filen,"w");
// do some writing
fclose(fp);
This process is repeated several times with the same pointer (fp). Is using the same file pointer a problem? Will fclose() automatically free up memory for me, or do I need to delete it manually? Are there any limitations that might cause a run-time error if I’m writing large quantities of text?
Thanks!
This approach won’t cause any memory leaks so long as the
fopenis always followed by afclosebefore the nextfopencall.However if this is indeed what’s happening I would question the need for a global variable. It’s much safer overall to make this a local and pass it around to the functions which need to output information.