| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 472 人关注过本帖
标题:求助!!!关于文件保存的问题,谢谢!!
只看楼主 加入收藏
failure
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-10-27
收藏
 问题点数:0 回复次数:2 
求助!!!关于文件保存的问题,谢谢!!
我想用文件保存一个记录,然后在下次运行这个程序时又增加输入一个数据,又保存起来,这样反复运行都可以把输入的数据保存在文件中,但是结果不对,
希望各位指点一下,谢谢先了!!!

源程序如下:

#include<stdio.h>
#include<stdlib.h>
#define M 10

struct emp
{
char name[12]; //名字
char age[15]; //年龄
}mem[M];

FILE*fp2,*data_i;
int i;

void save_i(); //保存i的值
void enrol(); //数据输入
void save_mem();//数据保存
void print(); //数据打印

void save_i()
{
FILE*data_i;
data_i=fopen("data.txt","w");
fwrite(&i,sizeof(int),1,data_i);
fclose(data_i);
}

void save_mem() //数据保存
{
int j;
FILE*fp2;

data_i=fopen("data.txt","r");
fread(&i,sizeof(int),1,data_i);//读出i值,有必要吗???
fclose(data_i);

fp2=fopen("clientdata.txt","a+b");
if(fp2==NULL)
{printf("无法打开文件!\n\n");getchar();};

for(j=0;j<i;j++)
fwrite(&mem[j],sizeof(struct emp),1,fp2);

fclose(fp2);

}

//////////////////////////////////

void enrol() //输入数据
{
system("cls");

data_i=fopen("data.txt","a+");
fread(&i,sizeof(int),1,data_i);
fclose(data_i);

fp2=fopen("clientdata.txt","a+");
if(fp2==NULL)
{printf("cannot open file!\n");getchar();}

{
printf("-------------------------\n");
printf("请输入你的姓名:");
scanf("%s",&mem[i].name);
printf("请输入年龄:");
scanf("%s",&mem[i].age);
printf("-------------------------\n");
i++;
save_i();
// save_mem();

printf("name=%s ",mem[i-1].name);getchar();//test value name
printf("after enrol_i=%d",i);getchar();//test value i

}
fclose(fp2);
}

/////////////////////////
void print()
{
int k;

data_i=fopen("data.txt","r");
fread(&i,sizeof(int),1,data_i);
fclose(data_i);

if((fp2=fopen("clientdata.txt","rb"))==NULL)
{printf("cannot open file!\n");return;};

for(k=0;k<i;k++)
{
if(fread(&mem[k],sizeof(struct emp),1,fp2)!=1)
{printf("file read error\n");return;}
else{
printf("name=%s ",mem[k].name);
printf("age=%s \n",mem[k].age);
}
}
getchar();
fclose(fp2);
}

///////////////////////////////////////

void main()
{
enrol();
save_mem();
print();
getchar();
}

搜索更多相关主题的帖子: 文件 保存 
2005-11-21 18:13
failure
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-10-27
收藏
得分:0 

怎么会每次运行后数据不对呀?

2005-11-21 18:15
wincor
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2005-12-20
收藏
得分:0 

打开文件方式不对,w是覆盖写

2005-12-20 12:39
快速回复:求助!!!关于文件保存的问题,谢谢!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029147 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved