我这个程序是用C语言写的,其中构造了两个函数来将我输入的数据保存到文本文件当中,可是调用savefile函数保存数据到文件中,再调用readfile函数时所输入的数据都没了,说明一下,我做的这个是通讯录管理系统,这两个函数的代码如下,求大神帮我解答,在此本人先谢过了
void readfile()
{
char *p="Linkman.txt";
FILE *fp;
int i=0;
if ((fp=fopen("Linkman.txt","r"))==NULL)
{
printf("Open file %s error! Strike any key to exit!",p);
system("pause");
exit(0);
}
while(fscanf(fp,"%s %s %d %s %s %s %s %d/%d/%d %s",man_table[i].name,man_table[i].sex,&man_table[i].telnumber,man_table[i].mobilenumber,man_table[i].qqnumber,man_table[i].mailbox,man_table[i].address,&man_table[i].birthday.year,&man_table[i].birthday.month,&man_table[i].birthday.day,man_table[i].level)==9)
{
i++; i=i;
}
fclose(fp);
n=i;
printf("录入完毕!\n");
}
void savefile()
{
int i;
FILE fp;
fp=fopen("Linkman.txt","w"); /写入*/
for(i=0;i<n;i++)
{
fprintf(fp,"%s %s %d %s %s %s %s %d/%d/%d %c",man_table[i].name,man_table[i].sex,man_table[i].telnumber,man_table[i].mobilenumber,man_table[i].qqnumber,man_table[i].mailbox,man_table[i].address,man_table[i].birthday.year,man_table[i].birthday.month,man_table[i].birthday.day,man_table[i].level);
}
fclose(fp);
}
savefile函数中应该是FILE*fp ,另外那个fopen中的w是指如果原来已经存在一个与打开文件同名的文件,则在打开文件时将该文件删除,重新建立一个,用a+吧,追加,你试下有没有用