student stu[1000];
student::save()
{ int i=0, k=0;
ofstream outfile("stu.dll",ios::app|ios::binary);
if (! outfile)
{cerr<<"open error!"<<endl;
exit(1);
}
while (stu[k].num!=0)k++;
for (i=0;i<k;i++)
{outfile.write((char *)&stu[i],sizeof(stu[i]));
}
outfile.close();
cout<<"数据已存入文件中"<<endl;
}
student::show()
{ int k=0, i=0;
ifstream infile("stu.dll",ios::binary);
if (! infile)
{cerr<<"open error!"<<endl;
exit(1);
}
//while (stu[k].num!=0)k++;
for (i=0;i<3;i++)
{
infile.read((char *)&stu[i],sizeof(stu[i]));
}
infile.close();
student::count();
}这是student.cpp中的
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int menu();
class student
{public:
student();
static enter();
static count();
static research();
int total();
float average();
static sort();
static insert();
static save();
static show();
private:
int num;
string name;
float score[3];
};
这是student.h中的
问题,为什么在main函数中执行student::save()和student::show()时,nsme栏会出错,stu[i].name是根本就没有写入文件中还是没能读出来
请帮帮忙,谢谢啦