我的C语言程序为什么不能保存数据,每次退出再进入后就没有之前存的东西了 5

学C语言时间不长,自己随意写了一段程序,其中保存模块和文件读取模块如下所示:voidsave()//保存模块程序{FILE*fp,*fp1;//定义文件指针if((fp=... 学C语言时间不长,自己随意写了一段程序,其中保存模块和文件读取模块如下所示:
void save()//保存模块程序
{
FILE *fp,*fp1;//定义文件指针

if((fp=fopen("xinxi.txt","wb"))==NULL)//打开文件并判定是否出错
{
printf("创建文件失败! \n");//打印出错提示
getchar();
return;
}
if((fp1=fopen("work.txt","wb"))==NULL)//打开文件并判定是否出错
{
printf("创建文件失败! \n");//打印出错提示
getchar();
return;
}

for(i=0;i<m;i++)
{
if(fwrite(&s[i],sizeof(struct air),1,fp)==0)//向文件写入数据,并判定是否出错
printf("输入数据失败! \n");
fprintf(fp1,"%d",m);
fclose(fp);//关闭文件
fclose(fp1);//关闭文件
}
}

void read()//从文件读取信息模块
{
FILE *fp,*fp1;//定义文件指针

if((fp=fopen("E:\\C语言相关40955059xinxi.txt","r"))==NULL)//打开文件,并判定是否出错
{
printf(" \n");//打印出错提示
}
else
{

if((fp1=fopen("work.txt","rb"))==NULL)//打开文件并判定是否出错
{
printf("创建文件失败! \n");//打印出错提示
getchar();
return;
}

fscanf(fp1,"%d",&m);

fclose(fp1);//关闭文件

for(i=0;i<m;i++)
{
fread(s,sizeof(struct air),1,fp);//从文件中读取信息

}

fclose(fp);//关闭文件
}
}
每次关闭程序再打开之前保存的数据就没有了,求大仙们给与小菜鸟解决方法
我先输入专辑1 专辑2 专辑3。再输入专辑4,专辑5。就成这样了
专辑序列
5
6
3
4
0
0
展开
 我来答
magicent
2010-09-08 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:99
采纳率:0%
帮助的人:41.5万
展开全部
你把打开方式改成追加试试、或许是你覆盖写入的原因
把文件的打开方式改成追加模式,就是“fopen("work".txt,"ab")”
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式