asdip138 2014-04-11 15:38 采纳率: 50%
浏览 2992

C语言写使用fprintf和fscanf的问题

我这个程序是用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);
}

  • 写回答

1条回答 默认 最新

  • zlp1992 2014-04-13 13:09
    关注

    savefile函数中应该是FILE*fp ,另外那个fopen中的w是指如果原来已经存在一个与打开文件同名的文件,则在打开文件时将该文件删除,重新建立一个,用a+吧,追加,你试下有没有用

    评论

报告相同问题?

悬赏问题

  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站