求助:文件写入时总会少掉几个数据
文件写入时,会少掉几个数据,不知道是什么原因,请大家帮帮忙找找看。#include<stdio.h>
#include<string.h>
struct friends_list
{
char name[10],weixin[20],email[30],sex[2],age[8],qq[11],bd[8],tele[14];
};
void new_friend(struct friends_list frients[]);
int main(void)
{
int choice,choice1;
char name[10],weixin[20],email[30],sex[2] ,age[8],qq[11],bd[8],tele[14];
struct friends_list friends[1000];
do
{
printf("1:新建 2:浏览 3:删除 4:更新 5:查询 0:退出\n ");
printf("请选择0~5号功能键\n");
scanf("%d",&choice);
if(choice>=0 && choice<=5)
{
switch(choice)
{
case 1:
new_friend(friends);
break;
case 0:break;
}
}
else
printf("输入错误!请输入0~5号功能键!\n");
}while(choice!=0);
printf("感谢您使用本通讯录,欢迎下次使用\n");
return 0;
}
/*新建通讯录*/
void new_friend(struct friends_list friends[],char *name)
{
struct friends_list f;
FILE *fp;
if(Count==1000)
{
printf("通讯录已满\n");
return ;
}
else
{
printf("请输入新的联系人\n姓名:");
scanf("%s",f.name);
printf("年龄:\n");
scanf("%s",f.age);
printf("电话:\n");
scanf("%s",f.tele);
printf("qq:\n");
scanf("%s",f.qq);
printf("微信:\n");
scanf("%s",f.weixin);
printf("生日:\n");
scanf("%s",f.bd);
printf("电子邮件:\n");
scanf("%s",f.email);
printf("性别:\n");
scanf("%s",f.sex);
if((fp=fopen("f1.txt","a+"))==NULL)
{
printf("File open error!\n");
exit(0);
}
fprintf(fp,"%s %s %s %s %s %s %s %s",f.name,f.age,f.tele,f.qq,f.weixin,f.bd,f.email,f.sex);
if(fclose(fp))
{
printf("Can not close the file !\n");
exit(0);
}
}
Count++;
}