写个例子给你吧(具体思路是这样):
FILE *pFileout, *pFilein; // 文件操作指针
UserInf userinf[10]; // 结构体数组
UserInf usertemp;
// 以二进制方式打开user.dat文件
if ((pFileout = fopen("data/user.dat", "rb")) == NULL)
{
printf("cannot open file");
exit(0);
}
// 成块从文件中读取
int i = 0;
while ((fread(&usertemp, sizeof(usertemp), 1, pFileout)) == 1)
{
userinf[i] = usertemp;
i++;
}
fclose(pFileout);
// 信息提交到user.dat中
if ((pFilein = fopen("data/user.dat", "ab+")) == NULL)
{
printf("cannot open file");
exit(0);
}
fwrite(&userinf, sizeof(userinf), 1, pFilein); // 成块写入文件
fclose(pFilein);
}
FILE *pFileout, *pFilein; // 文件操作指针
UserInf userinf[10]; // 结构体数组
UserInf usertemp;
// 以二进制方式打开user.dat文件
if ((pFileout = fopen("data/user.dat", "rb")) == NULL)
{
printf("cannot open file");
exit(0);
}
// 成块从文件中读取
int i = 0;
while ((fread(&usertemp, sizeof(usertemp), 1, pFileout)) == 1)
{
userinf[i] = usertemp;
i++;
}
fclose(pFileout);
// 信息提交到user.dat中
if ((pFilein = fopen("data/user.dat", "ab+")) == NULL)
{
printf("cannot open file");
exit(0);
}
fwrite(&userinf, sizeof(userinf), 1, pFilein); // 成块写入文件
fclose(pFilein);
}