从我处理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