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 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。