关于C语言中文件保存保存不了?为什么 请高手帮帮忙,谢谢。

void dataLoad() /*读入文件*/
{
int i=0;
fp=fopen("e:\\class.txt","r+"); /*存在原文件*/
if(fp!=NULL) /*到文件尾返回*/
for(i=0;i<MAX&&!feof(fp);i++)
fread(&students[i],sizeof(students),1,fp);
else fp=fopen("class.txt","w"); /*不存在则新建一个文件*/
}

void dataSave() /*文件保存*/
{
int i;
fp=fopen("e:\\class.txt","w");
for(i=0;i<MAX;i++)
if(fwrite(&students[i],sizeof(students),1,fp)!=1)
{
fclose(fp); /*关闭文件指针*/
printf("file write error\n");
getch();
}
}

第1个回答  2012-07-02
开始写出判断文件是否存在然后

在里面写下
fclose(fp);
第2个回答  2012-06-19
没有关闭文件追问

可不可以帮我修改一下,谢谢!

追答

void dataLoad() /*读入文件*/
{
int i=0;
fp=fopen("e:\\class.txt","r+"); /*存在原文件*/
if(fp!=NULL) /*到文件尾返回*/
for(i=0;i<MAX&&!feof(fp);i++)
fread(&students[i],sizeof(students),1,fp);
else fp=fopen("class.txt","wt+"); /*不存在则新建一个文件*/
fclose(fp);
}
注意这句:else fp=fopen("class.txt","wt+");

本回答被网友采纳
第3个回答  2012-06-26
您这个。。好乱