我的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 展开
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 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询