從我處理C++已經有好幾年了,所以忍受着我......重新使用文件指針會導致內存泄漏嗎?
我的程序中有一個內存泄漏,導致運行時錯誤。這可能導致錯誤?
我有一個全局變量FILE *fp;
在回調功能可按,我有:
fp = fopen(filen,"w");
// do some writing
fclose(fp);
該過程以相同的指針(FP)重複數次。是否使用相同的文件指針有問題?請問fclose()會自動爲我釋放內存,還是我需要手動刪除它?如果我寫大量文本,是否有任何限制可能導致運行時錯誤?
謝謝!
正如你所說,它是一個全球性的,我懷疑你有未初始化變量的問題。如果您在實際使用指針進行讀取/寫入的代碼中檢查「if(fp!= NULL)」時,總是將FILE設置爲NULL。另外,當你嘗試使用這個指針時,它可能會導致文件打開失敗並返回'NULL',它也會導致崩潰。 – Rookie 2011-06-03 19:20:08