有关文件的打开和关闭解决思路

有关文件的打开和关闭自己编写的源代码的一部分:while(count!columnum) {int num0double area0fp2fo

有关文件的打开和关闭
自己编写的源代码的一部分:while(count!=columnum)
{
int num=0;
double area=0;
fp2=fopen("remain_data.txt","w+");//用fp2指针指向这个文件
for(i=0;i<columnum;i++)
if(cr[i].sel==0&&cr[i].r <= H/2 &&cr[i].r <=W/2)
{
fprintf(fp2,"%lf\n",cr[i].r);//向文件中输入数据
cr[i].sel=1;
num++;//某一层中放进去的箱子数
}
if(num==0)
break;
for(i=0;i<num;i++)
fscanf(fp2,"%lf",&cr[i].r);
fclose(fp2);//关闭文件
if(fclose(fp2)!=0)
printf("Error in closing file\n");
sel(cr,num);
locate(cr,num);
for(i=0;i<num;i++) //计算一个木头所占有的面积
if(cr[i].sel) 
{
area += pi*cr[i].r*cr[i].r;
printf(" %lf %lf\n",cr[i].x,cr[i].y);
}
printf(" 利用率为:%lf%%\n",area/(W*H)*100);//计算集装箱利用率
end=GetTickCount();
printf(" 程序运行时间为:%f秒\n",(end-start)/1000.0); //计算程序运行时间
}
return 0;
}



我的目的是先打开文件 然后向文件中输入数据 然后在从文件中读出数据 然后进行数据处理 再进行循环 因为我想每次输入数据时截取原来的文件 所以用了w+。
问题为什么我运行时总是if(fclose(fp2)!=0)
printf("Error in closing file\n");显示我关闭文件错误 到底怎么回事?

[解决办法]

C/C++ code
                int nRet = fclose(fp2);//关闭文件        if(nRet!=0)//应该是这样,否则你就关闭两次文件了,肯定第二次会失败啊            printf("Error in closing file\n");
[解决办法]
既然有人回答了 , 偶也还是占个位 接点分