C++如何从文件中读取对象数组

如题所述

这是我自己写的一个学生信息管理系统里的两个功能函数,分别实现数据的保存和读取的你可以参考下int Save(struct StuNode *Nodes[]) //保存功能
{
FILE *fp;
struct StuInfo *pstu = NULL;
int i = 0;

if((fp = fopen("Save.ms","wb")) == NULL)
{
return 1;
}

pstu = (struct StuInfo *)malloc(StuSize);
memset(pstu,' ',StuSize);
rewind(fp);

for(i; i < MaxNum && Nodes[i]->tag == 1; i++)
{
CopyData(&(Nodes[i]->stu),pstu);
fwrite(pstu,StuSize,1,fp);
}

fclose(fp);
free(pstu);
return 0;
}void Load(struct StuNode *Nodes[]) //加载功能
{
FILE *fp;
struct StuInfo *pstu = NULL;
int i = 0;

if((fp = fopen("Save.ms","rb")) == NULL)
{
printf("重要数据文件已损坏或丢失,请运行ReBuild.exe修复!\n");
getch();
exit(0);
}

pstu = (struct StuInfo *)malloc(StuSize);
memset(pstu,' ',StuSize);

rewind(fp);
while(fread(pstu,StuSize,1,fp) == 1 && i < MaxNum)
{
CopyData(pstu, &(Nodes[i]->stu));
Nodes[i]->tag = 1;
i++;
}

fclose(fp);
free(pstu);
}
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答