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+吧,追加,你试下有没有用

    评论

报告相同问题?

悬赏问题

  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条