关于C语言文件操作的问题
下面是初始化的代码以及保存的代码,问题是为什么添加两条记录之后关闭程序打开文件夹里面只有第一条添加的记录之后就没有了,还一个问题是如果不先创建一个文件初始化时会报错
int init(FILE *fp,int count,student num[])
{
int i=0;
if((fp=fopen("student.txt","rb"))==NULL)
{
printf("不能打开同学录信息文件student.txt,请检查!\n");
exit(0);
count=0;
}
else
{
while(!feof(fp))
{
if(fread(&num[i],sizeof(student),1,fp)==1)
{
i++;
}
}
count=i;
}
fclose(fp);
return count;
}
int save(FILE *fp,int count,student num[])
{
int i=0;
if ((fp=fopen("student.txt","wb"))==NULL)
{
printf("不能打开同学录信息文件student.txt,请检查!");
exit(0);
}
while (i<count)
{
fwrite(&num[i],sizeof(student), 1, fp);
i++;
}
fclose(fp);
}